Explicitly pass PHABRICATOR_ENV and PHABRICATOR_INSTANCE to subprocesses
Explicitly pass PHABRICATOR_ENV and PHABRICATOR_INSTANCE to subprocesses

Summary:
Fixes T12070. Ref T12071. See T12071 for discussion.

D17100 changed things so that `bin/repository` gets an explicit `TERM=dumb`. As a side effect, this threw away the rest of the environment for installs with no "E" in `variables_order`. In particular, this means that "PHABRICATOR_ENV" may be dropped.

Since we're churning a lot and it's already Thursday, just patch this for now by reading "PHABRICATOR_ENV" out of the environment. I'll pursue more ambitious changes to fix this correctly after `master` promotes.

Test Plan:
  - Patched Phabricator to log which PHABRICATOR_ENV it was reading to `/tmp/env.log` during startup.
  - Set `variables_order` to "GPCS" (no "E").
  - Ran `PHABRICATOR_ENV=custom/porcupine ./bin/phd start`.
    - Before patch: `bin/repository` subprocess lauched with no PHABRICATOR_ENV.
    - After patch: `bin/repository` subprocess gets PHABRICATOR_ENV correctly.

I also fiddled around with trying to fix this "right" without requiring config changes, but couldn't find or google anything that lets us rebuild $_ENV if `variables_order` is whack.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T12071, T12070

Differential Revision: https://secure.phabricator.com/D17148

devurandom/libphutil,uber/libphutil,aik099/libphutil,codelabs-ch/libphutil,codelabs-ch/libphutil,Khan/libphutil,Khan/libphutil,uber/libphutil,uhd-urz/libphutil,uhd-urz/libphutil,codelabs-ch/libphutil,uhd-urz/libphutil,r4nt/libphutil,devurandom/libphutil,Khan/libphutil,r4nt/libphutil,devurandom/libphutil,uber/libphutil,aik099/libphutil,wikimedia/phabricator-libphutil,wikimedia/phabricator-libphutil,aik099/libphutil,wikimedia/phabricator-libphutil,r4nt/libphutil