Draining attributes in structures

This is so that @cyli can work independently on implementing the algorithm while I work on filling these structures.
``drained_since`` implies that it's a timestamp, and the docstring seems to imply how much time has elapsed since it was put into draining.

Maybe just a timestamp in seconds since the epoch makes sense, and just let the converge function do the time comparison?  

I like `None` as the default, but it can't be provided as an attribute with a default because `None` is not a float.  :|  And it not having a default breaks all the tests.  Would a default of 0 would make sense, if it is a timestamp and not time elapsed?  The time comparisons will all still work, and the tests wouldn't have to be changed.  (Alternately, the tests can just be changed :))

(Non-blocking - also wondering if 'updated_at' might be more general case in case we want to use the time for any other reason in the future?)