Refactor task proxy

Remove task proxy class generation logic. Move `cylc.task_types.task` module to
`cylc.task_proxy` and rename the `task` class as `TaskProxy`. Each task proxy
is no longer its own class, but they all belong to the `TaskProxy` class.

Allow `-`, `+`, `%`, and `@` characters as task names.

Simplify logic in various places.

Reduce memory footprint.

More pep8 and pylint fixes.
Modify `.ident` to `.identify`
Fix broken logic

The logic for handling task removal by reload was not merged in
correctly.
Merge branch 'master' into refactor-task-proxy
Remove unnecessary logic
Merge pull request #1206 from matthewrmshin/refactor-task-proxy

Refactor task proxy
Hot fix: internal quotes in test-battery command help.

A back-tick quoted string was executing when help was printed.
Updated change log for 6.0.2.
Removed unused (SITE|USER)_FILE variables from global cfgspec.

These variables referred to the deprecated site/user config file locations.
A quick 'git grep' shows they are not used anywhere.
Updated change log for 6.1.0.
Update gh-pages index for 6.1.0.
Updated gh-pages index slightly.
Merge pull request #1212 from hjoliver/remove-unused-vars

Remove unused vars
Merge branch 'master' into test.slurm-and-pbs