Moved S3 image upload to a service

Moved all the code to upload to the S3 instance into a service so that
it can be shared with any other module. This includes the call to create
a new policy and the promise bindings for progress, complete, and
failed.