Pass environment-file setting from agent to deployed services.

For our deploys, it is necessary to pass some machine and environment specific information to the services being started. The location of these files is installation specific (therefore it can not be put into the launcher.properties for the services) and needs to be passed to all services (so the agent needs to know about it to pass the information to the launcher.

This change adds a new configuration option to the agent:

`agent.environment-file = <file name>`. The default is null so nothing changes from the current behaviour.

This information is stored in the `node.properties` file for a new deployment as `node.environment-file`. (I assume it will make sense to have the node library pick up this information and expose it to a service running, otherwise it would be a different property namespace). 

Internally, we use a custom launcher which looks for this property and, if it finds it, loads the file as a properties file and adds the found key value pairs as system properties to the launch.