Cleaning up DB config and adding Dockerfile.

This should make database configuration more simple and standard and also
removes the reference to mongolab and instead using a more agnostic
GIRDER_MONGO_URI as the environment variable (also supporting the command
line). This also now uses a mongdb:// url. The dockerfile should make
deployment easier for folks who are into containers.
Use GIRDER_PORT instead of PORT
Fixing tests after port environment change.
Small doc and utcnow instead of now to fix failing tests on non-utc systems.
Support MongoReplicaSetClient based on a config file param
Merge remote-tracking branch 'origin/master' into db-and-cli-config

* origin/master:
  Also removing the unneeded import in sphinx config
  Hard coding version in sphinx config
  There was an issue where running multiple tests using the mock S3 server could fail because the port needed for the S3 server looked open but was in use by the time the S3 server requested it.  To avoid this problem, use a different set of ports than the mock SMTP server, a larger set of ports, and a slightly different in-use test.
  Added tests for assetstores.  For the webclient, added tests for creation, setting as current, and deletion of each type.  Added a test to the server to check that if the current assetstore is deleted, another assetstore is set as current.  Added some utility functions to help check if everything is loaded in the webclient.
  Fixed a time issue with the upload age check.
  If we delete the current assetstore, make the most recently created assetstore the new current assetstore.
  This makes the current assetstore more obvious in the list on the web client, as per issue #263.
  There was a bug in the web client creation and deletion of assetstores that failed to keep the collection of assetstores in a consistent state.

Conflicts:
	tests/base.py
Fixing now bad assumption on gridfs test.
Merge pull request #404 from girder/db-and-cli-config

Cleaning up DB config and adding Dockerfile.