OGM-175 Batched operations

Previous pull request:https://github.com/hibernate/hibernate-ogm/pull/155
JIRA: https://hibernate.atlassian.net/browse/OGM-175

What I've done is to create a new class ```BatchableDelegator``` that wraps a ```BatchableGridDialect```.
A ```BatchableGridDialect``` add a method that receive a queue with all the operations to execute.

I'm not sure how the batch operations in MongoDB should be executed. There is an insert() but it only works when creating new documents. At the moment when the batched operations are executed I call the methods in the grid dialect.

I think this approach could  be used with all the grid dialects if it makes sense.

Cheers