db: copy the MongoDB session instead of pass the reference

We will need to close the session to release them back in the pool.

Related to #358.
db: added Close method to Storage

Now the pool is complete, let's just use it.

Closes #358.
auth: call Close after using database connection

Related to #358.
auth: call Close after using database connection

Related to #358.
db: always use copies to create Storage instances

Related to #358.
api: call Close after using database connection

Related to #358.
collector: call Close after using database connection

Related to #358.
provision/juju: close database connections after using them

Related to #358.
provision/juju: fix test
service: close database connections after using them

Related to #358.
db: limit idle time in session copies

Related to #358.