Correctly update the rollover time

I realised that we can't just calculate the rollover time of the DB; it
*has* to be the previous expiry, to make sure that the rollover/expiry
mechanism always works correctly to avoid stale data being served.
Switch DAI#length to always return cur_tree_size

Turns out it's not so great for calculating a new tree head, if you're going
to have your DAI tell the MHT that the #length is still the old one (because
you've already reset the rollover time to the far-distant future).

So, what I've done is given #length over entirely to MHT -- nothing that
needs to respect rollover times should call #length.  Instead, we now have
`#tree_size`, which matches up more closely with the nomenclature in the API
where its used, anyway.

I also removed the expiry checks on the MHT-standard parts of the DAI,
because I don't think that was going to turn out to be such a good idea.
I'm starting to think that two separate DAIs, one for MHT and one for the
API, might not be a bad idea, given that they're pretty much entirely
separate APIs.  Except that I'll bet the code would end up getting even more
badly out of sync than it will all being in the same file...
Move sth migration to the main rollover code, and fix whitespace
Fix bundle command

That whole README needs a bomb up it, though.