Several major improvements

Change CouchDBContent to be interface for easier unit tests.
Add migrations.
Add GetDocumentFieldForEntity for use inside migrations.
Add support for batch size limit important for backends like Cloudant that limit the batch size.
Add ability to delete documents by selecting them from a view.