Provide Observable.timestamp(Scheduler) to be used in the tests.
Merge branch 'issue750' of github.com:vigdorchik/RxJava into 751-merge

Conflicts:
	language-adaptors/rxjava-scala/src/test/scala/rx/lang/scala/ObservableTest.scala
Correct synchronization guard in groupByUntil

Can't see how `synchronized (key) { ... }` could have been correct here; `key` will hardly ever be the same instance for different invocations of `keySelector`, and the comment on line 73 clearly states `gate` to be the guard for `map`.
Merge pull request #876 from benjchristensen/751-merge

Manual Merge of #750
Scheduler.scheduleRecursive

Make recursive scheduling a first-class citizen without needing to refer to "this" which doesn't work inside lambdas (Java8/Scala/etc).

        Schedulers.newThread().scheduleRecursive(new Action1<Recurse>() {
            @Override
            public void call(Recurse r) {
                System.out.println("do stuff on thread: " + Thread.currentThread() + " Time: " + System.nanoTime());
                r.schedule(100, TimeUnit.MILLISECONDS);
            }
        });
Merge pull request #878 from benjchristensen/scheduleRecursive

Scheduler.scheduleRecursive
Merge pull request #877 from pyrtsa/patch-1

Correct synchronization guard in groupByUntil
[Gradle Release Plugin] - pre tag commit:  '0.17.0-RC1'.
0.17.0-RC2-SNAPSHOT