Better verifiable content provider

@nockertsb please review

- Adds documentation to the `VerifiableContentProvider` in the form of annotations. This will be picked up by the IDE which is nice. 
- Rename `verify` to `assertThatQueuesAreEmpty`. It reveals an implementation aspect but it's more documenting and reflective of how the system works.
- Support for BulkInsert operations
- Better error messages
- Adds the ability to verify cursors. This is useful because the test fixture doesn't need to hold onto the cursor, which gets to be messy. Instead, the content provider does. The feature is important because when not using the Loader Framework, we have to make sure we close cursors ourselves.

I really wanted to bundle the cursor verification behavior with the queue verification behavior, but I think that will be a problem once we run UI tests since the activity typically doesn't get finished until `tearDown` is called. This means that the cursor will and should still be open when the test ends if using the Loader Framework.