Added tests for spying on objects those using KVO
Fixes some basic edge cases with spies and KVO

- Spies can record KVO-related messages sent to and from observed objects.
- Moves spec helper objects into support group (not like it sounds)
- TODO: expand specs to include tests around collection observing.
- TODO: while under KVO, spies may not record messages sent to themselves.

Special thanks to Pavel Taykalo for raising some of these issues
and providing useful failing specs.
Refactor some spy-related internals

- extract method for deciding to use private IMP
- clarify use of spied class vs. original public class
- remove near duplicate private method
Merge pull request #140 from akitchen/KVOSpies

Improves spies when used in combination with KVO