Possible fix 2.
Compare against os.environ to detect user name override.
Tidy up debug.
Fix splitting bug on '@' in task.py
Replaced configobj with custom config file parser: parsec.
Updated parsec readme file.
Merge remote branch 'upstream/master' into fix-ssh-username-bug
In upgrader, use spec not cfg to determine allowed items.

The upgrader deals with deprecated items that may not exist in the
sparse parsed config file.
Use proper spec for float list with multipliers, suite and site.
Added documentation to the parsec README file.
Handle empty values 'item = ' in config files.
Support non-pythonic boolean values in parsec.
Change allow_zeroes default for float list validation.

Also brings list multiplier expansion into the validate module, as it is
no longer used elsewhere in the code.
Merge branch 'master' into 562.nuke-configobj

Conflicts:
	lib/cylc/task_types/task.py
Added submit-retrying state to the gcylc cfgspec.
Allow test suites with no [runtime]
Merge branch 'master' into 562.nuke-configobj
Expunge all mention of configobj.
Removed an obsolete site config item from the spec.

Config file specs only need current item definitions.
A proper site/user config reference in the User Guide.

Translated from comments in the old configobj config spec file.