#119: more backwards-compatibility

This adds better backwards-compatibility support so that we can
start using more of the existing test-battery:
 * there is now auto-detection of old Cylc suite.rc cycling formats, so that
  output should not change
 * configurable `cycle point format` to support new cycling syntax with
 old output format
 * `tests/periodicals/*.t` now work except for `09-monthly-reorder.t`
 * `start-up` tasks are now re-implemented as a hacky auto-transform of the
 dependencies to use `R1` sequences - this is pretty fragile at the moment.
 This works for the new `r1_multi_start_startup` test in `tests/cyclers`.
 We will probably need similar functionality for handling async graph start
 dependencies...

This also adds support for writing `foo[]` as shorthand for `foo at the initial cycle time`
in graph syntax, so that the following now works:
```
[[dependencies]]
    [[[R1]]]
        graph = start
    [[[ R1/T0 ]]]
        graph = start[] => foo
    [[[R1/T04]]]
        graph = start[] => bar
    [[[ T00 ]]]
        graph = foo
    [[[ T04 ]]]
        graph =  bar
```

The start-up hacking is intended to take this in:
```
[[special tasks]]
    start-up = cold_foo
[[dependencies]]
    [[[ 0 ]]]
        graph = cold_foo & foo[T-24] => foo
```
and effectively produce:
```
[[dependencies]]
    [[[ R1 ]]]
        graph = cold_foo
    [[[ R1/T00 ]]]
        graph = cold_foo[] => foo
    [[[ T00 ]]]
        graph = foo[T-24] => foo
```

@hjoliver, please review.

Tests that pass:
 tests/cyclers/* (including 'yearly' as well as the two new ones)
 tests/periodicals/* (except Monthly-reorder)