Gave control of work sub-directory to the suite definition.

Addresses #377.
Automatic site/user config upgrade and deprecation warnings.
Tidied task proxy and job submit code a bit.

Includes getting rid of some unnecessary passing of global config items
from the task class into job_submit, and cleaner use of task owner and
host variables.
Improved config upgrade warning messages.
Updated the submit command.
Centralized cylc-run tree creation.
Updated documentation for work and share directories.
Warn and upgrade site config too.
Merge branch 'master' into 377-work-dir-config
Allow for host settings that default to None.
Merge branch 'master' into 377-work-dir-config

Conflicts:
	lib/cylc/task_types/task.py
Correct invisible graph text in the default gcylc theme.
Updated a comment.
Remove obsolete timeout documentation in gcylc help.

This also fixes a bug: suite run commands generated by gcylc were wrong
if the --pyro-timeout option was used.
Removed obsolete --from-gui command option, and associated code.
Corrected a typo in get-global-config command help.
Corrected typos in broadcast command help.
Make lockserver Pyro timeout option consistent with other commands.
Removed obsolete suite reload shell script.
Use Jinja2 --set options only where needed.