Edge case fixes and better error handling.

- Removed dependence upon ARCSafe_MemMgmt.h
- Fixed race condition between SCNetworkReachabilityGetFlags() and SCNetworkReachabilityScheduleWithRunLoop().
- Added "state" property so that users can determine when reachability flags are valid.
- KVO notifications now happen on the main thread.
- More graceful error handling and reporting.
- KSReachableOperation can now be initialized with an already instantiated KSReachability object.
gethostbyname() was unnecessary. A failed DNS lookup means the host is unreachable!
Switched to a workspace layout, with KSReachability building as a static library.
Merge branch 'kmaster'
Orphans from merge