utility function for creating observables for closeable resources
switch from AutoCloseable to Closeable for java 6.
UnsafeFunc0 now extends Callable.
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
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
Ensuring Runnables posted with delay to a Handler are removed when unsubscribed.

This patch ensures the delayed runnables posted to a Handler are properly
removed when Subscription.unsubscribe() is called on the Observable.

The original code returns the subscription from schedule() but is not used
by the callers who instead add the Worker itself as a subsciption.

Signed-off-by: David Marques <dpsmarques@gmail.com>