Fix observeOn() invocation order.

It should be called before lift() so that the operator can observe it on the main thread.

I tried to write a test but it didn't work, presumably because Robolectric doesn't have an event loop?
Isn't that the same as http://robolectric.org/javadoc/org/robolectric/Robolectric.html#runUiThreadTasksIncludingDelayedTasks()