Improved the error messages that occur when working with a file system that has lost write permission.  Also, if an upload that was started is in the resume state and is dismissed, try to delete the abandoned upload.
I noticed that we weren't actually testing chunked uploads to non-S3 assetstores.  I refactored the test code to do so and to allow testing with smaller files for chunked uploads.
Added tests for editing and deleting an item.
Added a test for aborting an upload.
Removed a debug statement I had left in the test code.
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.
500 errors shouldn't use RestExceptions.
Support MongoReplicaSetClient based on a config file param
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.

As an additional issue, some tests place data in GridFS assetstores, and these assetstores were not being reset or cleared.  There are now dropped prior to the start of the test.  As part of fixing this, I removed the issue with running the server_file and server_upload tests simultaneously.

I had a bug in how I was requesting the GridFS web client test, so it was just running the filesystem test a second time.

To aid debugging, I added the use of an environment variable 'EXTRADEBUG'.  This is a space-separated list of extra debugging options.  If you set this to 'mocks3' and or 'cherrypy', that service will log all of its URI calls.
Hard coding version in sphinx config
Also removing the unneeded import in sphinx config
Merge pull request #410 from girder/fix-readthedocs

Hard coding version in sphinx config
Merge pull request #411 from girder/fix-parallel-tests

Fixed some issues running tests in parallel
Merge branch 'master' into filesystem-write-permissions

Conflicts:
	tests/mock_s3.py
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.