Improved async and core data related helpers

Instead of a global semaphore to sync with background processes, let's
make AsyncTestHelper an object with it's own semaphore.

Added some core data helpers, so save synchronization is independent
from any other async helpers.

Dropped method swizzling in favor of regular notifications
Updated test to use the new async helpers
Merge pull request #1065 from wordpress-mobile/unit-testing/core-data-async

Improved async and core data related helpers