Removing extra willChangeValueForKey and didChangeValueForKey methods

Hey thanks for sharing the switch control! I have the following suggestion: 

In properties where you don't have a custom setter name like target, action and tint colour you shouldn't invoke ```willChangeValueForKey:``` and ```didChangeValueForKey:``` , since KVO runtime magic will do it as well. This results on getting twice the change notification.

For ```setEnabled:``` and ```setOn:``` is correctly done because KVO can't figure out where to add the will/did change calls.

Alternatively, you could opt out with ```automaticallyNotifiesObserversForKey:```

Correct me if I am wrong.