Add ViewObservables.listViewScroll(AbsListView).

This is a great question, and it's actually something I would like to get people thoughts on on a broader scale.

Me personally, and my team at SoundCloud believe that developer error should surface as soon as possible ("fail fast"). Mis-scheduling an observable is developer fault, not user or runtime fault. It's a precondition check, an assertion that should be caught before I ship my code.

However, this is in direct conflict with the Rx contract, and there were long wound discussions around this in the past (we have a terrible hack in our app that purposefully crashes our app if certain errors occur, such as `AssertionError`s, `IllegalArgumentException`, etc.) Think of it as an Rx based "StrictMode". Because otherwise, if you're lucky, what would happen at dev time is that you would most likely see a view in your app switch to some predefined error state, but in case of a "fire and forget" style action, nothing might happen at all and you simply miss it. (Although I believe there was a fix pushed to a recent RC that mitigated a case where errors were swallowed in ExecutorScheduler)

Despite that, I don't think it makes any difference in practice here, because `SafeSubscriber` routes all errors bubbling up from `onSubscribe` or any of the notification handlers to `onError` of the subscriber delegate.

I also like that I can look at this line as a piece of documentation: it tells me that I must ensure this method be executed on the main thread.