Clean up some bits of UIImageView+AFNetworking.m

The largest change was setting the underlying dispatch queue to not be the main thread, which should help make the UI feel buttery smooth.

Additionally:
1.  `-[NSMutableDictionary setValue:forKey:]` can handle the value being `nil` unlike `-setObject...`
2.  The static const char* keys seem needlessly verbose considering these are internal to the class(es) anyway
3.  I moved `[[UIImageView af_sharedImageCache] cacheImage:response forKey:key]` to the single standard completion block instead of that call being duplicated multiple times (and thus called multiple times)
4.  Lines 198/200/204 make use of the weakSelf/strongSelf semantic so that the UIImageView can safely dealloc when appropriate 
This is an iOS 8+ only property. There needs to be a fallback for older versions or an NSInvalidArgumentException will be thrown because the selector is not recognized.