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.
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.