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
actually, there may be an undocumented callback. It looks like it passes an error message to an error callback, and it looks like it then retries (at least in some cases of errors).