Use ||= to initialize an S3File's hashes
Add s3_prefix and s3_path to S3File

Move logic for calculating a file's path out of S3Bucket and into
S3File. I'm not entirely sure that this is the "right" decision, but it
feels a bit more natural.
Completely move S3 path calculations to S3File

- Pass a file reference instead of a path to S3Bucket#contains?
- Use S3File#s3_path in S3Bucket#put_file
- Remove the file path from the arguments to S3Bucket#put_file
- Remove the remote file path from the list of command-line options
- Update the project version to 0.2.0 (breaking API changes)
Print more debugging information in upload.rb

Specifically, show the full remote path to which the file will be
uploaded and tell the user if the remote file already exists.