Rewrite parts of NSObject+BlockObservation to enable automatic deobservation, courtesy of ReactiveCocoa. Closes #115.