Changing write command support version to 2.5.5
A few leftovers from a class rename refactoring.
Added message to assertion
Removed warnings from test class
fixes JIRA-1080 Support createIndexes command when available
Temporarily pushing back createIndexes change until that change hits the nightly in the server.
better exception handling with newer server versions
modernized the test a bit
fixes JAVA-1097 deprecate ensureIndex() methods
Refactored and modernized query result class
Refactored DBAPILayer.Result inner class to be static
Refactored DBAPILayer.Result static inner class to be a top-level class
Refactored Iterator<DBObject> __find(...) methods in DBCollection to QueryResultIterator find(...).  This simplifies a lot of callers who were casting to QueryResultIterator.

Conflicts:
	src/main/com/mongodb/DBCollectionImpl.java
	src/main/com/mongodb/ResultsCursor.java
Using ternary operator instead of conditional in DBCursor
JAVA-1091: Always set awaitData if tailable is set, and ensure that hasNext() blocks until either there is another available document or the cursor is no longer valid.
JAVA-970: Rename MongoCursor to Cursor, override close to not throw IOException, and make DBCursor implement Cursor.
deprecate createIndex that takes an Encoder
Added exclusion to CLIRR for addition of a public abstract method to a public class.  Needed for DBCollection.aggregate.
minor clean ups
JAVA-1100: Deprecated DBCursor.numGetMores and DBCursor.getSizes
Added testCoverage target to Gradle build, removed testAll target