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.
Wouldn't it make more sense to just pass in a document that was returned from the "runCommand" method (+ $server)? Is there a need to split it up into cursorId and firstBatch yourself?