Fix #320

The command executor will now have some more environment settings set by kudu service (yet it'll still be missing some that the deployment script has like the manifests path).
Refactored code in ExternalCommandBuilder for reuse with the CommandExecutor, the refactored code is now in ExternalCommandFactory.
Added tests for the CommandExecutor.