Added support for custom functions in combineLatest.
Fixed testSingleSourceManyIterators
Setting up the new subproject for debugging observable chains.
Merge branch 'master' into debug

Conflicts:
	rxjava-core/src/main/java/rx/Observable.java
Updating StringObservable to use lift
And added from(InputStream) and from(Reader)
OperatorFilter Migrated to Lift Operator

- support synchronous unsubscribe now
Split Merge and MergeMaxConcurrent

- Splitting them allows clearer code and avoids use of queue for normal merge.
InterruptibleBlockingQueue

- used in MergeMaxConcurrent and ObserveOn
- allows for blocking onNext calls when full while still supporting unsubscribe.
Observable.nest()

Make this public so that operator chaining can use it.
Usage would be someObservable.nest().lift(f) for lifting a function that expects Observable<Observable<T>> such as `repeat`.
GroupBy Fixes

- There were bugs in the implementation, this fixes some of them. In particular, it was unsubscribing from the parent when all children were completed, and that would unsubscribe even if new groups were going to come.
- There are still problems related to `subscribeOn` and the "time gap" that are being played with. Unit tests related to that are still failing.
ObserveOn using InterruptibleBlockingQueue
IllegalStateException if Repeat receives an onError
Migrate from Deprecated Notification Constructors
Revert Observable.Range to support 0 for count.

It had been changed to only support >0, put it back to >=0
Added overloaded createRequest method that takes an HttpContext instance
Revert to OperationMergeMaxConcurrent

The new OperatorMerge class still exists, but reverting this one.
I messed up the thread safety and don't have time to figure it out.
InterruptibleBlockingQueue.size()
More Parallal Unit Tests

- stressing it further while hunting down non-determism
Further TestSubscriber Functionality
Remove Stray Println