DON'T MERGE 129 custom environment variables

Hey Loren,

This PR for discussion only.

I have a decent set of tests on 2 low-level helpers, util.setPath() and util.substituteDeep(). The `custom-environment-variables.json` file work as planned, but I held back from more aggressive tests (like fiddling with the filesystem and clearing the module cache) to really exercise the edge conditions.

Do you use a beautifier/code formatter? My editor created a lot of reformatting churn. I could hand edit to a new branch, but don't know if I'll get time to do that until next weekend. Sorry for the rude mess.

Cheers,
--Brad