Main refactoring:
    1) vibe.db.mongo.db -> vibe.db.mongo.client
       MongoDB -> MongoClient
       MongoClient is cleaned up from all database specific features
       MongoClient.opIndex removed
       MongoClient.getDB added
    2) Created new module vibe.db.mongo.db
       Created MongoDatabase class
       All database service functions moved to MongoDatabase
    3) Most vibe.db.mongo.connection stuff is marked as /// private
       All vibe.db.mongo.connection symbols intended for user code usage are documented
    4) getLastError() root implementation is now in MongoConnection
       getLastError() implementation fixed
       getLastError() now return immutable POD struct: MongoErrorDescripion
       checkLastError() now uses getLastError()
    5) MongoHost class -> struct
    6) MongoClient now only uses MongoClientSettings in constructor
    7) MongoCollection stores MongoDatabase instead on plain name string
    8) MongoDatabase basic implementation with old service methods: getLastError, getLog, fsync
    9) MongoDatabase.runCommand is package instead of public for better encapsulation

Enhancments:
    1) Added MongoDriverException and MongoDBException
       All mongo driver code now throws one of those
       MongoDBException encapsulated MongoErrorDescripion
    2) MongoCollection.remove() overload added
Minor documentation link update
Main refactoring
    1) opIndex for MongoDatabase
Compilation fixes from own projects
Review comments adressed. Documentation formatting. Space-tab formatting fixed.
Small ddoc tweaks
Minimal mongo driver sanity testing project. Should be adapted upon real CI introduction
Spaces -> tabs again
Sloppy changes in previous commit, now compiles
Changed some /// private to /// [internal]
[internal] and /// private settled
Merge pull request #171 from Dicebot/mongo_rework

Mongo driver refactoring