DATAMONGO-411 - Double check type of PersistentEntity for index creation.

The Spring container does not check nested generic types of the type parameter of  ApplicationEvent<T>. As T is parameterized in our case as well (PersistentEntity<…, …>) we can code an event listener against that fully parameterized type but might run into ClassCastExceptions as we might get other implementations handed into the method at runtime. We now do an instanceof check to safely invoke checkForIndexes(…) only in case we get the correct event type.
DATAMONGO-408 - Added StringToWriteConverter for XML setup convenience.

When using a PropertyPlaceHolderConfigurer to set WriteConcerns on a MongoFactoryBean just like this:

<bean class="….mongodb.core.MongoFactoryBean">
  <property name="writeConcern" value="${mongodb.writeConcern}"/>
</bean>

we might create invalid WriteConcerns as the BeanFactory will use the WriteConcern's constructor taking a String to create the instance by default. To make Spring use the valueOf(…) method in advance one needs to register either our already existing WriteConcernPropertyEditor or the newly introduced StringToWriteConcernConverter in Springs ConversionService.
DATAMONGO-382 - Fixed potential ClassCastException in MappingMongoConverter.

MappingMongoConverter's convertToMongoType(…) now deals with Sets (and more generally all Collections) correctly.
DATAMONGO-360 - Fixed index information creation for geo indexes.

Fixed a ClassCastException that occurred because we didn't consider index information of geo indexes (they return "2d" as direction). Introduced new IndexField abstraction that supersedes the fieldSpec Map in IndexInfo.
DATAMONGO-273, DATAMONGO-294 - Re-enabled accidentally disabled test case.
DATAMONGO-412 - Fixed duplicate invocation of getUserCredentials().
DATAMONGO-366 - Polished reference documentation.

Fixed link to bug tracker. Polished docbook files a bit.
DATAMONGO-413 - Fixed bug in MongoQueryCreator.

MongoQueryCreator used the outdated OrQuery class to concatenate parts with OR. Refactored the class to use the Criteria.orOperator(…) method and deprecated the OrQuery class to be removed in the 1.1.x branch.
DATAMONGO-422 - Fixed invalid UUID conversion.

Removed UUIDToBinaryConverter and BinaryToUUIDConverter as the MongoDB Java driver can handle it itself. Added UUID as Mongo-simple type. Added integration test for reading and writing a UUID property.
DATAMONGO-181 - Improved resource handling for Mongo instance.

SimpleMongoDbFactory now only closes the Mongo instance if it created it itself. Removed public getter for WriteConcern and hold a UserCredentials instead of its parts.
DATAMONGO-425 - Fixed parameter binding for Dates and manually defined queries.

Replaced manual JSON serialization for special parameters inside StringBasedMongoQuery by calling JSON.serialize(…).
DATAMONGO-423 - Fixed handling of negated regular expressions.

When using the not() method combined with the regex(…) methods on Criteria we created an invalid query so far. Fixed the regex(…) method to always transform the regex expressions and options into a Pattern instance and render that according to the $not state.
DATAMONGO-429 - Fixed handling of nested arrays in QueryMapper.

QueryMapper now correctly transforms arrays not concreting them into BasicDBObjects anymore.