Filesystem write permissions

I improved the error messages that occur when a filesystem assetstore fails due to permission issues.  When we fail to upload a file and we offer to resume the upload, if the user clicks close, the upload was abandoned and unreachable.  This partial upload is now discarded (if possible).

While testing the upload abort, I saw we weren't actually testing chunked uploads to non S3 assetstores through the web client.  I added tests for that, and reduced the required chunk size during the test so that the tests are faster.

This addresses issue #392.
The recommended way to raise a 500 error is to raise a regular Exception.

    raise Exception('Failed to create upload.')

RestExceptions are meant for 400-level statuses, and as such they are not logged as errors (usually they just represent invalid user input). Raising a regular Exception will cause a 500 and also cause the exception to be logged in `error.log`.