Added the ability to only trigger the locationChanged block when on Wifi

I added this because a project I'm working on needed it - I figured it'd be better offering it than not, even if you decide not to merge it.

I wanted to offer the user a choice of only updating in the background when they're on Wifi. Easy enough.

However, it gets a bit complicated - what if I arrive at my location, then 20 seconds later I connect to Wifi? I'd expect the locationChanged block to be called at that point, and everything then continue as normal.

So that's what this is. Unfortunately I've had to add a Reachability class to get the network updates - perhaps there's a better way - and I've started adding prefixes (although I never got around to the SJONetworkStatus enum values) so it doesn't clash with any other Reachability class.