Swift Development: fixes issue #1543

Disposable should not retain ObservableProperty itself.
Also to prevent dead locks dispatch_sync changed to dispatch_async. Execution order will be the same because used serial queue.
Hmm, I don't think this is entirely correct. `self` is also strongly captured above, so it will live as long as the signal no matter what.

Maybe we should instead be capturing the subscriber weakly, when we save it into the property's array?