more reliable cleanup by swizzling dealloc
removed observer's dealloc method
updated unit tests and cleaned up a bit
Merge pull request #1 from jvisenti/swizzle-dealloc

Swizzle dealloc