Allow persistent option on set_env/4 and unset_env/3

An environment key set with the persistent option has higher
precedence than the one configured in the application environment.
This implies a key set with the persistent option will override the
application one on load. It also means the key will "survive"
in between application reloads.

This is the implementation of the solution proposed on #198.