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
Merge branch 'master' into 487.future-task-triggers
Merge branch 'master' into 487.future-task-triggers
Don't add redundant cyclers to task proxies.

A cycler was being added to task proxies for every line in the graph
rather than every section - this probably explains issue #348.
Extend runahead limit for future triggers.
CUG documentation of future triggers.
Compile and re-use cylc offset regex.
Merge branch 'master' into 487.future-task-triggers
Merge pull request #498 from hjoliver/487.future-task-triggers

487.future task triggers