Merge branch 'release/0.3.4'

* release/0.3.4:
  Adding distutils stuff to .gitignore.
  Bumping internal version to 0.3.4.
  patch applied badly, fixing if
  if the ImageField is null and not required, don't create
  Fleshing out setup.py. Adding MANIFEST.in.
Merge branch 'release/0.3.5'

* release/0.3.5:
  One really should be able to add multiple maintainers.
  Bumping the version number.
  Accessor._delete() and Accessor._exists() needed conditionalizing as well. ikflush was yelling at me.
Merge branch 'release/0.3.6'

* release/0.3.6:
  Bumping the verison numbers.
  Whitespacing.
  Adding Jonathan Slenders to AUTHORS (thanks for spotting that signals bug).
  fixed 'sender' not defined bug (2)
  fixed 'sender' not defined bug
  Instead of overriding Model.delete(), we'll connect a public clear_cache() method to a post_delete() signal so that bulk actions clean props as well.
Added support for preserving transparency when converting from color to greyscale
Merge branch 'release/0.4.0'

* release/0.4.0:
  Think it's time to bump to 0.4.0.
  Adding Markus and Matt to AUTHORS.
  Added ability to specify specs in IKOptions directly.
  Improve fault tolerance of Accessor._delete()
  fix issue #12
  proper python comments in readme
  Adding Josh to the contributors list.
  Being a good PyPI citizen.
  allowing any fields on the object to be specified for use in naming of generated images; default to allowing pk
  Added the pk of the object into the dictionary of values passed to the string formatting for cache_filename.
  Added the quality property in the readme's ImageSpec classes just to show it is possible to change it at will.
  Fixes: CMYK files from Photoshop fails to load with exception -2
Using spec properties from ImageModel.
Processors are now instance-based.
Resize split into Crop and Fit.
Storage moved onto ImageSpec.
Updated README to reflect the new API.
Changed ImageSpec constructor so you can use static properties.

For example:

    class MyImageSpec(ImageSpec):
        quality = 100

    class Photo(ImageModel):
        display = MyImageSpec()
Processors now use static properties.
Admin thumbnails.
_imgfield is now a property of ImageSpec

Moved _imgfield from ImageModel to ImageSpec. Theoretically, this will allow you
to have specs that use different image fields on the same model.
Added default_image_field

This works kind of like Django's models' _default_manager. If your specs don't
specify an image_field, and your IKOptions don't specify a default_image_field,
the first ImageField your model defines will be used.
Storage can be specified on a per-spec basis.

If not defined on the spec, IKOptions.default_storage will be used. If that's
not defined, it will fall back to the image field's storage.
Changed how cache files are named.

Removed the cache_dir, cache_filename_fields and cache_filename_format
properties of IKOptions. While these were very powerful, I felt that it was
unnecessarily confusing to have two properties (cache_dir and
cache_filename_format) that determine the filename. The new cache_to property is
modeled after ImageField's upload_to and behaves almost identically (the only
exception being that a callable value receives different arguments). In
addition, I felt that the interpolation of model properties provided by
cache_filename_fields, though useful, would be better handled by a utility
function outside of this library.
Now using contribute_to_class.

By creating the Descriptor using contribute_to_class (instead of in
ImageModelBase's __init__), we take the first step towards eliminating the need
to extend ImageModel at all.
Added AdminThumbnailView field.

You're no longer restricted to just one, special-case admin thumbnail. Make as
many as you want by adding AdminThumbnailView properties to your model and
including them in your admin class's `list_display` tuple. You can also provide
a custom template. Note that (because this change introduces templates to
imagekit), imagekit is now required in INSTALLED_APPS.

Ideally we could get this stuff out of the model, but we'll have to look into
whether that's possible without making things really complicated.
No need for this.