Fix mongodb uri parsing

After this commit 126845ecb4def99a176ce29cb35025c1e3c4a24c MongoDB transport has stopped using database name provided via connection string.

First of all I've extracted connection string parsing logic into separate `Channel` method. And have refactored test case enabling some already available but skipped checks.

Then I've updated that method fixing database handling issue and added some missing capabilities. It now takes into account connection timeout, port number, userid, password provided by `Connection` constructor.

Fixes #266. Also probably fixes #120.