Add ability to pass env. variables to subprocesses.

This adds a new constructor to ExecuteProcess that
accepts a `map<string,string>` holding environment
variable names and their values. Before the process
is spawned, the environment variables are set. Any
values that were overwritten are restored in the
parent process immediately afterwards (but newly-
set values persist).

This is tested by modifying the TestExecutable so
that it exits early in COUT_OUTPUT mode if the
REMUS_TEST environment variable is not "TRUE".
Merge pull request #174 from vibraphone/worker-env

Add ability to pass env. variables to subprocesses.