Try to automatically unregister if the observed object deallocates by swizzling dealloc.
Doesn't seem to always work. Can't quite figure out why - looks like the KVO dealloc is, on smoe objects, being called before ours, no matter how late we swizzle.
Add warning to ReadMe.
Merge branch 'master' into magic_deregister
Release-swizzling based magic deregistering.  Seems to work.  Not sure I like it.
Clean things up a bit.
More thorough testSelfObservation that teste magic deregistration.
More thread-safe release swizzling.
Back to swizzling dealloc, working now with some new-found knowledge about how the ordering of deallocation works.  Should be thread-safe too.
Properly cast objc_msgSend calls.
More correct options for table of observers (use pointer equality, not object equality, on observers).
Make warning in ReadMe a little bit less extreme.
Clean up of comments and formatting.
More thread safety around dealloc swizzling.
A little cleanup.
Merge branch 'master' into magic_deregister

Conflicts:
	THObserversAndBinders/THObserver.m
	THObserversAndBindersTests/THOBTestSelfObservationTestObject.m
	THObserversAndBindersTests/THObserversAndBindersTests.m
Merge branch 'master' into magic_deregister
Let Xcode set its LastUpdateVersion tag.
Merge branch 'master' into magic_deregister
fix dealloc
Merge commit 'fa3e0d067ae074f489cd3fe32317aa9ece888e8b'

# By James Montgomerie
# Via James Montgomerie
* commit 'fa3e0d067ae074f489cd3fe32317aa9ece888e8b':
  Let Xcode set its LastUpdateVersion tag.
  Let Xcode set its LastUpdateVersion tag.
  Properly cast objc_msgSend calls.
  Allow arm64 builds.
  Allow calling of `-stopObserving` inside `-dealloc` to work when observing self. No longer is is necessary to find an appropriate place to stop observation before deallocation (you still need to do it manually though).
  A little cleanup.
  More thread safety around dealloc swizzling.
  Clean up of comments and formatting.
  Make warning in ReadMe a little bit less extreme.
  More correct options for table of observers (use pointer equality, not object equality, on observers).
  Properly cast objc_msgSend calls.
  Back to swizzling dealloc, working now with some new-found knowledge about how the ordering of deallocation works.  Should be thread-safe too.
  More thread-safe release swizzling.
  More thorough testSelfObservation that teste magic deregistration.
  Clean things up a bit.
  Release-swizzling based magic deregistering.  Seems to work.  Not sure I like it.
  Add warning to ReadMe.
  Try to automatically unregister if the observed object deallocates by swizzling dealloc. Doesn't seem to always work. Can't quite figure out why - looks like the KVO dealloc is, on smoe objects, being called before ours, no matter how late we swizzle.