Environment config overrides All config

Tweaks how the *Environment* and *All* configs are merged, to give priority to the *Environment*. Previously values specified in *All* would override *Environment*.

@gregoryjscott brought up that this change begs the question about the name *All*. Given the new functionality, would it be better named *Defaults*?