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.
Ah, nevermind—that's not right. I forgot we want to capture `self` weakly so the property can deinitialize.

In that case, can we make the above references `weak` as well, and make sure to handle `nil` properly?