Rename `bind` to `lift`

As per discussion at https://github.com/Netflix/RxJava/issues/775#issuecomment-33075742
`Observer` becomes `Observer implements Subscription`

As per decision at https://github.com/Netflix/RxJava/issues/775#issuecomment-33075742
Move Observer factory methods to Observers

Follow same pattern as rx.observables, rx.schedulers, rx.subjects, rx.subscriptions
Subjects Fixed
Move Observers to rx.observers
Compiling. Unit Tests Failing.

Now that Observer is an abstract class, Mockito is having issues with it so unit tests are a mess.
TestObserver
Operator Tests Retrofitted to use TestObserver

- work around inability of Mockito to correctly mock an abstract class
- 15 of 590 tests still failing
587 of 590 operator unit tests passing
Down to 7 of 893 unit tests failing
Fixed 1 Unit Test - Linked Observer/Subscription where seemingly obvious to do so.
Fix Subject SubscriptionManager

Remove possibility of infinite loop
Clarify intent of unit test
OperationJoinTest - fixing
Ignore JoinsTest.whenComplicated until questions answered
Fix Exception Handling from SafeObserver and Subscriptions
Performance comparison

… numbers from my machine. Can’t fully explain the increases in performance.
TestObserver fix for Scala UnitTest
Fix Unit Tests
Restore Broken OperationJoinsTest

- confirmed the assertions, leaving broken until can be fixed (not sure what’s wrong)