Implemented the 'Timeout' operator

Hi, I used `SynchronizedObserver` to implement the `Timeout` operator #91. It may be simpler than #434. Considering DateTimeOffset and TimeSpan in C# have the same meaning, RxJava only needs 4 overrides. I have already implemented all of them.

Please take a look. Thanks.