Initial implementation of RxScala Observable interface for result sets and queries

Observables from RxJava/RxScala offer an alternative to Futures and Play Iteratees for result sets and queries. Extensive support for collection methods allows for operations such as `select.observe.skip(10).take(20).groupBy(_.name)`. See https://github.com/Netflix/RxJava/wiki for more details on Rx and Observables.

This is an initial implementation and has not been tested extensively. I'm submitting this pull request to see if there's any interest in the Rx approach.