always call completion blocks even when image unavailable

* fix for path/FastImageCache#47
Merge pull request #49 from chilldotcom/master

Always call completion blocks even when image fetched is nil
Fix color space memory leak
If we have a partial chunk whose length is < expected chunk length, and we've just extended the length of the file, we'll need to invalidate this partial chunk by removing it from _chunkDictionary. Thus, the next time someone needs an entry from this chunk, it will be properly recreated with its correct, updated entry count.
When growing image table file, grow in increments of _entriesPerChunk.
When resetting, reset the chunk dictionary and the counted chunk set as well.
Add safety check so that we cannot create an entry that is out-of-bounds within a chunk
FICImageTable now knows about data protection. Some clients have experienced crashes when trying to read image table data while their app is in the background. These crashes occur when the image table's file has data protection enabled, and the device is passcode-locked. To prevent the client app from crashing, FICImageTable will do its best to prevent accessing the memory pages from a protected imageTable file at times when that data is inaccessible.
FICImageCache now can be instantiated as a normal object. You're no longer required to use the singleton sharedImageCache.
Correct spelling
Fix bug related to data protection mode "complete until first auth" where FIC would incorrectly think that data was inaccessible while locked, even though the device had previously been unlocked.
Update documentation
Update README
Update README
Update README
Merge branch 'master' of https://github.com/path/FastImageCache