Async Index Operations

Added an executeAsync to the CreateIndexes, DropIndexes and GetIndexes operations
Added executeAsync to User based operations

Added abstract base BaseUserOperation class
Updated CreateUserOperation
Updated DropUserOperation
Updated UpdateUserOperation
Updated UserExistsOperation
Added GetCollectionNamesOperation
Added executeAsync to FindAndRemoveOperation
Added executeAsync to FindAndReplaceOperation
Added executeAsync to FindAndUpdateOperation
Added executeAsync to GetDatabaseNamesOperation
Added executeAsync to GroupOperation
Updated executeAsync for InsertOperation
Added executeAsync for map reduce operations
Updated RemoveOperationSpecification to use helper and test async
Updated UpdateOperationSpecification to use helper and test async
Added executeAsync to DropCollectionOperation