* Change "unknown" user to "some_unknown_user_xyz" since "unknown"
*is* a valid user
* Add timeout to proxy test_exit_status_no_proxyid() since a known
failure case is to infinitely loop with an error.
* Always force the source code tree under test to be the first entry
in PYTHONPATH (excluding verbatim_env)
* shared config settings go in `config_base` rather than *each* config
* Ensure that `name` attribute is a string
* Ensure that `dirtree` gets used from kwargs
* Adding 'XXXX' to the mkdtemp template is unnecessary
* Only template values if they are strings - otherwise just use them directly
* Ensure that the --config_dir argument is passed when "verbatim_args" is set
* Ensure that the user option is set to "unknown" for both proxy and minion configurations
* Change the .config attribute to .config_base and .configs as a dictionary of configs
* A config has multiple parts
:name: the key in the .configs dictionary
:path: the path where the config is written (when absent defaults to .config_dir and config name)
:map: the contents of the config (for salt programs this is a dictionary)
* Values can be substituted into the config contents using standard python string formatting labels
* Add a .config_attrs which maps object attributes into config space
* Directories for make_dirtree() can reference object attributes using leading '&'