Make all environments available from modules.

This is another step towards #1750.  Also, will be helpful for fixing #1793 (more to come on that front in a future PR).
There seems to be a lot of requests for custom environment support(ex: I use a staging environment). 

This should be extendable to allow users to define other environments