Crash on non-zero-weak-reference systems

On iOS < 5, the requestDidFinish delegate method will be called on the delegate after it
has already been released by the system. This works fine with zeroing weak
references, where a method call on nil will simply be ignored.
This poses a problem, however, if the reference in question has never been
zeroed out, since requestDidFinish will effectively be called on a released object, causing an EXC_BAD_ACCESS crash. The solution is to only remove the delegate in requestDidFinish on non weak reference systems.