Future proof KVO implementation

As explained in http://www.dribin.org/dave/blog/archives/2008/09/24/proper_kvo_usage/ the only safe way to know if you must call `[super observeValueForKeyPath:ofObject:change:context:]` is to use the context parameter. You also want to pass this context parameter when removing self as an observer.
Minor code style formatting
More minor code style formatting
Remove obsolete comment on `AFNetworkingTaskDidStartNotification`
Use the AF prefix for consistency with the rest of the library
Merge pull request #1231 from 0xced/future-proof-kvo

Future proof KVO implementation