Accumulate changes

See commit comment https://github.com/alexch/listen/commit/3ecc5e3a981ba7360237dc4c1bcacd9f49db6ca9 for details.

I had to fiddle with the timing in some tests because the listener now waits a bit before calling back (just in case there are more changes coming).

My unit test is pretty gnarly, and just tests that two changes arriving one after another both get received... it doesn't really test that they get accumulated together into one callback. Think I should expand it, or just delete it and rely on acceptance tests? (which also currently don't test that the changes are accumulated)