Support for multiple MongoDB instances.

- 'mongo_prefix' resource setting (eg. 'MONGO1', 'MONGO2')
- 'app.data.mongo_prefix' overrides resource level 'mongo_prefix' and can
  be used by custom Auth classes to invoke user reserved,isolated DB instances
- both MongoDB and GridFS instances are cached to preserve connection pools,
  TCP connection, etc.
- 'eve.io.base.DataLayer' and 'eve.io.media.MediaStorage' interfaces are
  untouched so other engines should not be influenced by these changes (not
  breaking backward compatibility)

All tests are passing but multi-db tests are still missing. Documentation still
missing (will probably also need a tutorial for user-reserved db instances).

WIP.