Fix leak in RACSerialDisposable, tighten up disposal and subscriber block releasing

Fixes #860.

The most important commit here is 6de8f44, which is what actually fixed the leaks reported by Instruments. `RACSerialDisposable.disposable` has to be explicitly set to `nil`, since it's actually a `void *` property underneath, and ARC won't know to release it.

The other work here ensures that disposal happens more reliably, happens as soon as possible, and results in subscription blocks being released too.

@numist