Support multiple configs and make template params self documenting.

Template configs are self documenting and can be seen with `hod_pbs.py --help-templates`

Users can also specify multiple configs. e.g. `hod_pbs.py --config dir1/hod.conf,dir2/hod.conf`. This will merge the configs with the following rules:

1: Strings from the second config override the first one.

2. Lists (e.g. `service=taskrunner.conf,resourcemanager.conf`) will get concatenated so users can specify extra services, modules, env vars and the like.

3. Dicts are merged using a deep merging algorithm.
This is run from the command line (i.e. the interactive part) so there's no need for the logger here.

Exceptions will pass to the exit and return 1.