Obsolete function warnings
This branch creates basic infrastructure for defining functions with planned obsolescence / deprecation.
@rgoldman I'm not sure whether you consider this branch ready or not, but I'm creating this merge request so we can discuss it.