New test to ensure dealloc of observed objects runs.

I don't think that, after dealloc is swizzled, the original dealloc is always (maybe ever) being run.  I added a test to show this.

I think my test should be good, but even if it's not, if you put a breakpoint on -[SHKeyValueObserverDeallocationVerifier dealloc] it should at least make a break fire before execution ends, but it doesn't.