Fix lack of thread safety in -[RACSerialDisposable disposable]

Addresses #1455

I couldn't come up with a way to do it using `OSAtomicXXX`, but I'd be happy to change it if somebody can suggest how.
Could we make this all simpler by refactoring this boolean into a `_disposed` ivar, thus avoiding the "is it `self` logic"?

Since we're no longer using compare and swap, instead of encoding "has this been disposed" into the one atomic variable, could we go with two variables, `BOOL` and `RACDisposable *`? This would also avoid the `void *` bridging too.