Factor out data methods from Timeframe into Controller

Doing so opens the door for a Controller that manages multiple timeframes.
Moreover it simplifies Timeframe, making it more focused.

This was a design that was considered previously but rejected because it seemed
like it was adding an additional layer when jamming it onto Timeframe was
sufficient; now that there is an additional layer, it seems prudent to use it
for what it is worth.
Advance timeframes relative to current_time