IncrementalResult Implemented

Still needs some more tests to test the asynchronous operation. At least for synchronous operation I think it works now.

I had to modify the API a bit, because stuff like "getResultCount" doesn't really make sense given the asynchronous nature of the class's operation. As soon as you got back the result from it it could have already been invalidated by the producer thread adding new results.
I don't think throwing an exception here is a good idea. If we do a query and both the local and network data managers retrieve the same item, they will both try adding it -- causing an exception. The major problem though is that it will cause funny situations where only some items are added, up until the one that was already in the collection. 

It would be best to just skip adding the item if it's already there.