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.
I had that but my tests said it doesn't work since it just points the name `_lhs` to a new variable which is the result of the expression. As opposed to editing the location of `lhs.attr`