Tasks stop on unmanaged

stop tasks when entities are unmanaged, and better bookkeeping for scheduled tasks.
(also fixes eclipse IDE problems caused by checkstyle.)
Instead of this whole repeater call, can just do:

    Asserts.eventually(Suppliers.ofInstance(latches), CollectionFunctionals.sizeEquals(locs.size()));

In general, I don't like us using `Repeater` in tests. There are almost no situations where one actually wants to specify the times in the test class (i.e. just rely on default of 30 seconds, unless it really is a performance test or expected to be really long). Where there isn't a nice way of using `Asserts.eventually` as above, then I'd prefer if we defaulted to using things like:

        Asserts.succeedsEventually(new Runnable() {
            public void run() {
                assertEquals(latches.size(), locs.size());
            }});