DATAMONGO-404 - Removing a DBRef using pull does not work.

Prepare issue branch.
DATAMONGO-404 - Removing a DBRef using pull does not work.

Support for pulling DbRefs out of collections via Update#pull(...).
DATAMONGO-404 - Removing a DBRef using pull does not work.

Added support for Update#pull() with DbRef fields. We currently allow two use cases here:
given a @DbRef annotated Collection<SomeEntity> foo;
1) one can do a new Update().pull("foo", someEntityToBeRemoved)
iic someEntityToBeRemoved is an instance of SomeEntity.
2) one can do a new Update().pull("foo", idOfSomeEntityToBeRemoved)
iif the type of idOfSomeEntityToBeRemoved is assignable to the id type of SomeEntity or a DBRef.
In both cases we transparently create an appropriate DbRef which then used in the pull-fragment of the update.
We deliberately choose to not allow nested path expressions like "foo.id" since this will be supported later by adding support for criteria fragments alongside the pull method.
DATAMONGO-404 - Remove DBRef using $pull via Enity or Id reference.

Remove dbref using Update.pull("dbrefcollection", entity) or Update.pull("dbrefcollection.id", 1).