Subprocess support for with_original_env

This fixes #2369

The main symptom that led me to encounter it was that I was unable to perform a `gem install` to the system location within a `bundle exec`'d process (chef, in this case) - `PATH` and friends were being bashed over because `ORIGINAL_ENV` was being read from within the subprocess and not passed through.

I'm unsure whether I should be preserving the `_ORIGINAL_GEM_PATH` env var for compatibility in this.

---

Also, f15cf14435053ff6bfd9ca175b971c9d1419cb0e is independent of this feature (the example group was pointless in its previous form), if you want to cherry pick separately