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.