Add a new test class designed to look into the issue we're seeing with user counts going wrong.

Right now, the test is failing as uningesting isn't working quite right.
Tell the ingestor to commit only when actually counting so we can mix uningests/ingests
Try a mixed ingest/uningest sequence.
Add a test to check that we really only create one data store per connection string
Add a soak test that creates/deletes about 50k users. Thought this would actually take time but it runs nearly instantly :-)
Test doesn't need to be explicit. Write out a message to the console indicating how many events we've processed.
On the minus side, the bug still hasn't made itself apparent.
... doh, was creating all users with the same ID. Which raises some serious questions as to why the tests were passing before...
Also wasn't deleting users when deleting their events
Aha, a reproduction of the issue at last. Deleting data for a user while an add request is also in the queue results in the deletion being processed before the addition, which results in the user reappearing.

The count is never wrong, I think, but a deleted user can reappear in the results.
Unreduce after performing additions instead of before. Hm, I have vague recollections of there being a reason for this ordering, but moving it isn't producing any test failures. This seems to fix the 'ghost users' bug at any rate.
Update query version so queries that experienced the ghosting bug will get recalculated
Merge branch 'hotfix/BadCountUnique' into develop