Refactor usage of file class

1. ImageField now has attr_class ThumbnailedImageFile
2. New object Gallery. Called by ``foo.image.thumbnails``
3. New object ThumbnailFile, returned by Gallery functions
Refactored thumbnails.file

1. Got rid of *args, **kwargs in __init__ function of class Gallery and
Thumbnail
2. Reworked on how ``get_thumbnail`` work
3. Add property size to Thumbnail class
4. Renamed ThumnailedField into Thumbnail class
5. Make test more explicit on testing thumbnail caching
Reworked caching ``all`` method

1. Cache of newly created thumbnail is handled by get_thumbnail
2. renamed some variable from filename -> name
3. Added __eq__ function to Thumbnail to make it easier during test
ThumbnailedImageFile now inherit from ImageFieldFile
Merge pull request #8 from SeiryuZ/refactor-thumbnail-file

Refactor usage of file class