Fix observeOn() invocation order.

It should be called before lift() so that the operator can observe it on the main thread.
This change also adds some test for other bindXx() variants to get better coverage.
Rename OnSubscribe subclasses to OnSubscribeXx

This aligns RxJava convention.
Merge pull request #67 from omo/observeon-first

Fix observeOn() invocation order.
Merge pull request #77 from omo/onsubscribe

Rename OnSubscribe subclasses to OnSubscribeXx