Template abstract_clock on Clock:

Sorry for the mixup, there was a bug in DecayingSample! The changes will need to be audited carefully. Unit tests pass now.

Reviewers: @scottschurr @rec 
These could all be one line.  In particular, putting a carriage return _after_ a < is weird - we don't seem to have it anywhere else in the code, and since everywhere else our template parameters <are like this> it makes it hard to see template parameters that are like this>.