[abacus] MongoDB client
I now have the first version of a drop-in replacement client for MongoDB:
The client still has some limitations:
* no support for ajax.rejectUnauthorized CouchDB option
* no support for skip_setup CouchDB option
* no support for keys, starting with $ (Mongo restriction)
* no support for custom backends (in-memory, lrudown cache, ...)
The eureka stub in my fork stores the port number with key different than $ to overcome the Mongo restrictions.
The client was tested with 2.x and 3.x versions of Mongo. All unit-tests pass without modification, and I started working on the integration tests.
We can add the mongo client as a new sub-module to:
* make the work on integrating and polishing the Mongo code more transparent
* allow reporting of issues for the new code (bugs, improvements, suggestions, requirements)
* start creating abstraction layer that can select one of the DB clients
What do you think?