Check upload mimetypes

- Pulls out an UploadedFile class for dealing with file uploads
- Adds integration level tests for csv and excel uploads (tested against examples in features/fixtures
- Disables the feature tests for file uploads because phantom always uses `application/octet-stream` mime type
- We now only allow csv, json, open office and excel mime types