Added a functional test for label recovery.

The bug is already fixed in earlier commits, so this is just another test
for confidence and regression ensurance.
Fix for bug where multiple property SET operations in one transaction causes an error
Replace IndexProxy.{update|recover} with IndexProxy.newUpdater(mode)

o Temporarily @Ignore RuleUpdateFilteringIndexProxyTest
Split out the concurrent map from IndexingService

o Abstracts how that map is updated and also what mappings are tracked internally
o This prepares for having multiple mappings instead of only being able to lookup by long
Make IndexingService compute which indexes need to see which updates instead of broadcasting all updates to all indexes

o Removes RuleUpdateFilerIndexProxy and ServiceStatusUpdatingIndexProxy from the IndexProxy cake
Make IndexAccessor and IndexPopulator use IndexUpdater

o Made IndexPopulationJob enqueue updates individually