File upload component

File upload functionality added to challenge package
We shouldn't need to initialize s3 unless we are going to use it. Does this need to be a global?