Feat/evap upload svc

* made some small improvements to evaporate provider.
* added some meat to the upload service.
* added some basic tests for upload service, other parts of upload not yet tested.
* use of uuid and env in prefixing upload file name
* additional headers for content type, disposition, and privacy
In fact, I'd say this is probably a test case worth adding to the specs to make sure I am not misunderstanding what will happen here – if the underlying evaporate upload fails, we should definitely get a meaningful error message passed through (or else maybe retries, but resolving as though everything turned out OK seems definitely wrong)