A poll-and-wait option for stop command.

Closes #300.
Consistent help for the suite-state and stop commands.
Use a common polling framework for the suite-state and stop commands.
Connect only once for suite stop polling.
Fix automatic retrieval of remote suite port numbers.

This closes #330.  The bug was probably introduced recently(ish)
with site/user config files.
Improved error messages for remote suite not running.
Less verbose polling output, on a single line.
Catch connection failed in suite-connecting commands.

This occurs if you try to connect to a suite that is not running but
which has a port number associated with it - either because you used
--port on the command line or because of an orphaned port file.
Fixed indentation error.
Whitespace tidy
Tidying up
Merge pull request #374 from arjclark/cylc-hostname-bugfix

cylc suite db hostname bugfix
Merge pull request #368 from hjoliver/300-stop-wait-poll

A poll-and-wait option for the stop command.
Catch illegal port file content, including an empty file.

and print a sensible error message instead of a traceback.
Allow use of [T] in internal output messages for non-cycling tasks.

In principle you don't need to use [T] as a cycle time placeholder for
non-cycling tasks (for which T is 1) but if you do it should work.
Corrected a comment.
Merge pull request #378 from hjoliver/catch-illegal-port-file-content

Catch illegal port file content, including an empty file.
Apply suicide triggers to all family members.
Merge pull request #383 from hjoliver/382-family-suicide

Apply suicide triggers to all family members.
Merge pull request #379 from hjoliver/async-task-internal-outputs

Allow use of [T] in internal output messages for non-cycling tasks.