Remove assertTrustedObservable

- Was no longer working once onError(Exception) changed to onError(Throwable) as the assertions throwing java.lang.Error no longer bypassed the composed Observables.
- It was confusing while locally contextual JUnit verifications as used everywhere else are clear, readable and localized to each test
Clarify unittest for observeOn with ImmediateScheduler

- spying was removed since it wasn't being used and ImmediateScheduler results in no scheduling being done.
Change onError(Exception) to onError(Throwable)

See issue "Observer#onError should use Throwable" for background => https://github.com/Netflix/RxJava/issues/296
OnExceptionResumeNext

See https://github.com/Netflix/RxJava/issues/296#issuecomment-21358856 for context.
Rename exception to throwable to be clear
Change hasException to hasThrowable
Add Error propagation now that we use Throwable.
Test with Error instead of RuntimeException

… test the Throwable catch instead of Exception.
Merge pull request #315 from benjchristensen/onError-to-throwable

Change onError(Exception) to onError(Throwable) - Issue #296