Scale memory and disk cache sizes.

Memory cache now has a ceiling of 20MB. Also fixes a logic error for looking up the large memory class when the large heap flag was set.

Disk cache now scales between 5MB and 50MB, favoring 1% of the storage space on the target filesystem.

Closes #4.
Fix CropSquareTransformation crash.
Merge pull request #40 from square/dimitris/fix-transformation

Fix CropSquareTransformation crash.
Merge pull request #30 from square/jw/memories

Scale memory and disk cache sizes.
Fixed crash on Android 4.2.2 devices

Utils.calculateDiskCacheSize throws java.lang.IllegalArgumentException: Invalid path on Nexus 4 (Android 4.2.2) if cache directory doesn't exist. Calling cacheDir.mkdirs solves the problem
Added AndroidLoader class

AndroidLoader is a custom implementation of Loader interface that provides a possibility to load images for the assets and resources using a special type of url (e.g. assets://image.jpg or resources://2130837505)