#1149: require 'P' notation for integer cycling intervals and offsets

This closes #1149 by requiring e.g. `P1` instead of `1` for intervals
and `+P1` for offsets.

@hjoliver, please review.
This actually makes no difference to #1149, but is a tidy up that helped me
debug a problem and is an improvement.