Split API classes and interfaces

Split previous API files into many more classes and interfaces. Manager and Server APIs were left as-is.

It may be helpful to create a class hierarchy/diagram.
Sadly, you can't do this. On a 32bit platform (and Windows), $cursorID *has* to be a MongoInt64 object.