Lazy KVO signal

#285 

I also took the opportunity to clean up some of the KVO wrapper stuff and removed it from the exported headers and umbrella header. It's really an implementation detail that we shouldn't publish.