adds testing dependency
wires up test task
requires gem's classes and adds basic error module
adds gem-release to development dependencies
introduces TBird::Configuration

Configuration objects that allows setting values directly:

    TBird::Configuration.aws_key = 'value'

Or via a block:

    TBird::Configuration.configure |config|
      config.aws_key = 'value'
    end
introduces TBird::Namer

This class is responsibile for creating a unique name for the file and
follows this pattern:

    "#{identifier}/#{token}_#{version}.#{extension}

The identifier is user settable and defaults to a SHA1 hash of the
original filename.

The token is also user settable and defaults to a generated UUID.

The version defaults to 'original' and corresponds to the name of the
version given to the image after being transformed by TBird::Processor
(e.g. thumbnail).
introduces TBird::Processor

This class is responsible for applying MiniMagick transformations to an
image to create multiple versions of the same file. It has basic
commands for creating a square thumbnail and resizing an image (using
width, height, width x height, percentage or any other geomotry commands understood by
MiniMagick) as well as providing an interface for passing a block into
MiniMagick's `combine_options` method to allow for more advanced
tranformations.
introduces TBird::Transmitter

This class is responsible for uploading the file(s) to S3:

    t = TBird::Transmitter.new('filename', data, metadata)
    t.transmit!
    t.url

It is oriented for streaming uploads (to support large files) and allows
the user to pass in arbitrary key/value's in the metadata hash that will
be written with the file to S3.

Two metadata keys are special, :access (defaults to :public_read)
controls the ACL used on S3 and :content_type (defaults to
'binary/octet-stream').
introduces TBird::Uploader

This is the main class of this library and will likely be the only entry
point for most users. Right now it handles parsing out the filename,
filedata and content type from an uploaded file (e.g. pass it your
params[:file] after the form has been posted), but will soon also be
responsible for using the other classes, Namer, Processor and
Transmitter, to create versions of the file and upload them to S3 with
their new names.

The return value will be a hash of the URLs to the file(s) on S3, keyed
by their version name. More soon.
spec helper
image used by some of the specs
adds WHY? section to readme