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.
Change polling interval config to minutes, and ...

...start the poll timer anew, with the second interval,
when the task enters the running state; and first interval
of 0 turns off submission polling.
Merge branch 'master' into 494-more-polling

Conflicts:
	lib/cylc/task_types/task.py
Document that delay between batches is now zero.
Separated submission and execution poll config ...

and abstracted out poll timing.
Added a task polling example suite.
Task polling should start over on retries.
Check retry timers outside of task processing.

In the absence of other activity a retrying task would not go off
when its timer expired unless the suite was nudged (this is a recent-ish
bug - the ready-to-run check for clock-triggered tasks, outside of the
main task processing loop, used to check all tasks - which now (because
of retry timers) it actually should do.
Don't call task timer checks in sim mode.
Moved job batching logging to debug level.
Addressed message ordering issues.
Better registration db locking.

Uses the Python 'with' construct. Also retry several times on db
unpickle to handle occasional problems due to (I think) lock
non-atomicity. Ultimately this should be fixed properly (atomic locks,
or a proper sqlite db?) - but it should be a rare thing for multiple
processes to simultaneously access a user reg db.
Added an in-source comment on task message order and polling.
Merge pull request #504 from hjoliver/494-more-polling

#494 more polling