Integration Testing Helper

A few changes to help use RZVinyl in integration tests.   The main behavior is to block the main thread until all background operations have completed.   This helps keep the code in lock-step as testing progresses.  This is done by dispatching a synchronous block on the background queue.   Given that it's test only, it follows the pattern of __rzv_resetDefaultStack().

One change removes the caching of entityNames.   I don't believe looking up the entity names will ever be expensive, so I removed it rather than fix the caching.  The use of dispatch_sync(dispatch_get_main_queue()) in the caching is not a nice thing for a library to do, and was causing the main feature to dead lock.


dispatch_sync requires the block to be non-nil.