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.

TODO:
* add in use of uuid in prefixing upload file name
* add in additional headers for content type and privacy
I am not maintaining a status attribute (new, uploading, complete, cancelled). Most of those you can glean from this `progress` attribute, and we can add them explicitly if necessary.