add back implicit cycling for back. comp.
fix restart-retry test purge suite
#119: add a form of implicit cycling back.

This change allows implicit cycling (e.g. foo[T-6] => bar
generates a foo task 6 hours before bar, without any other
declarations) but in a slightly different form. Future
implicit cycling triggers are not handled exactly as before.

This is because we're dealing with start points rather than
anchor points, so shifting into the future may skip a cycle
near the start.

Tests that fail in my environment:
- purge/00-purge.t
- restart/07-waiting.t (not sure why...)
- intercycle/01-future.t
#119: new interpretation of implicit cycling...
#119: fix purge - needed runahead pool handling
#119: update vs #954
#119: alter style