Provides Lock-Stepped Chartle refresh clocks

All Chartles on a particular chartle definition are now associated with a
single clock (a clock itself can be associated with multiple chartles.

The Clock defines simply a rate of refresh (in seconds) and a range (as
graphite compatible from & to properties)

A Clock will refresh at the specified time and ask all the associated
chartles for their relevant data (the clock provides itself as information
as that might be needed by the chartle.)

When all chartles have returned (successfully or otherwise, including an
automated 10s timeout on all fetch requests), then their update methods
will all be called at the 'same' time (i.e. if there are 4 chartles and
one of those takes 5 seconds to return the data, but the others only take
1 second, then all 4 chartles will actually display the updated data after
5 seconds!)

If multiple clocks share the same refresh rate then ChartleD will wait until
all of the chartles across all of those clocks have fetched their data before
updating the chartles themselves.

The thinking behind this is that if the same refresh rate has been specified
then it is very likely the intent was to ensure that the associated
chartles all visually change at the same time, this mechanism allows for that
behaviour, at the cost of a *vastly* more complex architecture :(
WiP - Trying to fix the weird layout issues