Use docker and aws

This builds upon Dyball's initial work (in #27) and cleans things up considerably.
I would argue to keep this as `user-data` but change the extension to be `sh` - mainly because the AWS interface for provisioning EC2 instances specifically references "user-data" and allows you to either paste in a shell script or upload a file.

If the file is named something else it might be confusing for developers looking for something to put into the "user-data" field when provisioning a new instance.