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
evaporate does not provide a callback for errors (I believe it keeps retrying), so it doesn't give me a way to call the reject. It does have `complete` and `progress`.