Fixed problem with parsing Bson from qualified types
Merge pull request #168 from Dicebot/bson_qualified

Fixed problem with parsing Bson from qualified types
Added assertions to make sure that InputStream.empty and leastSize are consistent.
Removed ChunkedInputStream.m_empty to avoid data redundancy.

A rare bug has caused a state where m_empty==false and m_bytesInCurrentChunk==0, causing an infinite loop before.
Added some diagnostics.
Removed the output contract for InputStream.leastSize again as this.empty was not really evaluated for some reason leading to false alarms.
Fixed JSON/BSON serialization of const/immutable structs/classes.
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
Dots in collection names are allowed.