Slight refactor

I made the following changes:

* Update to Guard v2 plugin system.
* Fixed "Undefined method options" error.
* Added support for a `prefix` to the uploaded S3 key. Use case is when uploading to a 'sub directory'
* Changed from `aws-s3` to the official `aws-sdk` for Ruby, as such there is better S3 API support and supports various [basic configuration options](https://github.com/aws/aws-sdk-ruby#basic-configuration)
* Compares `etag` (MD5 of the file) from S3 and uploads if different, current version does not replace if the file already exists.

This should be fully backwards compatible.