A number of improvements to OperatorObserveFromAndroidComponent

- move the UI thread assert out of the operator and into the helpers; this way, we don't fail the observer anymore with an exception, but the caller.
- do not loop unsubscribe through the main thread anymore. This unnecessarily defers releasing the references, and might in fact be processed only after Android creates the component after a rotation change. I had to make the references volatile for this to work.
- immediately unsubscribe in case we detect the componentRef has become invalid. This solves the problem that dangling observers would continue to listen to notifications with no observer alive anymore.

refs:
https://github.com/Netflix/RxJava/issues/754
https://github.com/Netflix/RxJava/issues/899
startWith(observable) marble diagram
Merge pull request #931 from soundcloud/android-operator-improvements

A number of improvements to OperatorObserveFromAndroidComponent
Merge branch 'master' of https://github.com/Netflix/RxJava into docs
correcting markup error in javadoc comments
add support for eclipse pde
fixing a variety of errors in javadoc generation (syntax errors, misnamed params, etc.)
Merge pull request #950 from Acardiac/eclipse-pde-support

Add support for Eclipse PDE
Version 0.17.0
0.17.0 Release Notes
Version 0.17.0 Release Notes
Update CHANGES.md
0.17.0-SNAPSHOT
[Gradle Release Plugin] - pre tag commit:  '0.17.0'.
[Gradle Release Plugin] - new version commit:  '0.17.1-SNAPSHOT'.
Update CHANGES.md
Make OperatorObserveOnTest.testNonBlockingOuterWhileBlockingOnNext deterministic

reported at https://twitter.com/jaceklaskowski/status/443153927069249536
Merge pull request #953 from benjchristensen/observe-on-non-deterministic-test

Make ObserveOnTest.testNonBlockingOuterWhileBlockingOnNext deterministic