Custom conversion funcs

This is the next step after #571. Only the last commit is new:

Add custom conversion function system
> As an example, demonstrate how Env.Key's deprecation ought to work.