Improved threadsafety of Hits class.

Many Hits methods have been made synchronized. This prevents many common
thread-safety issues. Note, however, that because Hits is mutable (Hit
context can change, concordances are stored in Hits object, etc.),
reusing Hits objects between threads (such as in a web application)
still requires the application to take these issues into account. In the
future, we will prioritize eliminating more of these threadsafety
pitfalls in BlackLab.
Added Hits methods to facilitate background fetching of hits.

Hits.countSoFar*() give updates of the numbers of hits/docs processed so
far. If you're processing hits in a background thread, you can call
these methods from another thread to give the user a progress update.
Hits.doneFetchingHits() will return true when all hits have been
processed.