Initial hack at enabling future triggers.

Addresses #487; example in examples/future-trigger runs.
Removed misleading test suite title.
Tidied one code snippet.
Tidied another code snippet.
Merge branch 'master' into 487.future-task-triggers
Merge branch 'BugFix.HoursOfTheDay-cycling' into 487.future-task-triggers

Conflicts:
	lib/cylc/cycling/HoursOfTheDay.py
A better future trigger example suite.
Tidied offset code snippets further.
Handle future triggers in conditional expressions.
Allow shutdown with future-triggered tasks held before stop time.
Merge branch 'master' into 487.future-task-triggers
Merge branch 'master' into 487.future-task-triggers
Made polling configurable by task, with interval lists.
Completed documentation of polling.
Reordered some runtime items in the suite def reference.
Fixed new polling interval selection.

Closes #494.
New option to print graph nodes with the list command.
Set CYLC_VERSION then source .profile, for cylc access.

Used at the top of job scripts to give tasks access to cylc, and as the
first part of event handler and job poll and kill command strings so
that they also run under the same version of cylc as the calling suite
(event handlers may call cylc commands). This allows users to run suites
under multiple cylc versions at once by setting PATH according to the
cylc version.
Removed redundant task.incoming() code.
Removed a debug print.