Connection pool sharing

This allows you to connect to multiple databases using the same connection pool. See #1124.

Create a new database off of the existing connection object.

```javascript
var db = mongoose.createConnection(uri);
var db2 = db.openNewDb('someDbName');
// define models like you would normally
var Model1 = db.model('Model1', m1Schema);
var Model2 = db2.model('Model2', m2Schema);
```