Clean up overrides
Removed nesting of ListResultType

Also concrete methods explicitly return the correct type
Added a executeAsync for QueryOperation returning CursorType[T]
RxScala now eats cake
Close mongoclients in tests
Renamed all Raw methods
Normalised Helper method transformer function names
Added core signatures for MongoClient implementation