Fix crash when accessing reachability

Was crashing on performSelector:@selector(isReachableViaWiFi) on Reachability.
Added performsSelector checks and a soft protocol interface so the scalar return values can be obtained safely.

Note the performSelector:@selector(isReachableViaWiFi) on the BugsnagReachability is typecasting and object pointer to a BOOL, which will probably work most of the time but is considered unsafe and probably should be fixed too.