Allow any identifier in aggregation group operator
Allow bulkInsert with empty enumerator and ensure that each bulk has at least one document to insert.

When the enumerator was empty or the document was larger than the maximum bulkByteSize then MongoDB returned the error DatabaseException['Message contains no documents' (code = 13066)]
Added 2D Spherical and Hashed index types
Disabled unit test for inserting invalid point into 2dsphere index, since inserting it doesn't fail under Mongo2.2
Merge pull request #84 from edofic/macros

Macros: recursive structures support, union type bugfix, implicit handlers for ADT
Merge pull request #81 from ornicar/aggregationGroup

Allow any identifier in aggregation group operator
Merge pull request #82 from MarkvanderTol/empty_enumerator

Allow bulkInsert with empty enumerator
Merge pull request #83 from MarkvanderTol/indextypes

Added 2D Spherical and Hashed index types