Rename AtomicObserver to SafeObserver

Rename to be more descriptive of what it has evolved to.
Better handling of map function errors

- Stop catching the error and passing to onError and instead let the SafeObserver handle it which will then prevent subsequent onNext calls and/or unsubscribe when a failure occurs.
- This also solves the OnErrorResumeNext issue fixed in https://github.com/Netflix/RxJava/pull/312 but those changes still seem valid so I'll leave them.

Related to https://github.com/Netflix/RxJava/issues/216 and https://github.com/Netflix/RxJava/pull/312
Merge pull request #314 from benjchristensen/map-error-handling

Map Error Handling
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
Remove thread.sleep from unit test to speed it up

.. and apparently formatting and imports changed a bunch ...
Merge pull request #316 from benjchristensen/fix-slow-unit-test

Remove thread.sleep from unit test to speed it up
0.10.0-SNAPSHOT

The `onError(Exception)` to `onError(Throwable)` change is breaking so must bump from 0.9 to 0.10
Gradle Release Plugin - pre tag commit:  'rxjava-0.10.0'.
Gradle Release Plugin - new version commit:  'rxjava-0.10.1-SNAPSHOT'.