Add support to multiple databases with aliases

I tried to make it backwards compatible, specially to not redo all testing (this seems to be the only reason why you would keep a reference to connection object returned by the mongoengine.connect method).