Introduced 'rxjava-scalaz' project.  This project provides some type class instances for Observable.

* Monoid: Observable obviously forms a monoid in terms of concatenation.
* Functor, Applicative, Monad, MonadPlus: Observable can be a Stream-like Monad and can be MonadPlus as well as Monoid.
* Traverse, Foldable: Observable can be Stream-like traversable. __NOTE: The operations for the instance is blocking calls.__
* etc.

About Testing, property based tests are applied by Scalaz's ScalaCheck binding.

For QuickStart, please refer to rx.java.scala.scalaz.examples.RxScalazDemo.
replaced getOne method which is based on promise with toBlocking.first
Attempt to fix one integration test class
Add onErrorFlatMap to RxScala
Add nest to RxScala
Add flatten variant to RxScala
Add switchMap to RxScala
Add retry variant to RxScala
Add error variant to RxScala
Add foreach to RxScala
Add combineLatest variant to RxScala
Add orElse to RxScala
Update CompletenessTest.scala
Add groupByUntil variant to RxScala
Add groupJoin to RxScala
Add pivot to RxScala
Add longCount to RxScala
Add toMultimap to RxScala
Merge pull request #1311 from craigmingtaozhang/master

Tiny integration test change
TrampolineScheduler & Unsubscribe

Unsubscribing should prevent new additions to a Worker, but not prevent already scheduled work, and definitely not affect other Workers using the same thread (by modifying the ThreadLocal as it was doing).

See the unit test for details of how unsubscribing 1 Worker could prevent work from being done on a completely separate Worker.