ExecutorScheduler to wrap an Executor

For issue #1219

This implementation should conform with the Scheduler contract except it is not possible to avoid thread-hopping (don't worry, the tasks execute serially, but maybe not on the same physical thread).

Few open improvement possibilities:
- Usage of ```MpscLinkedQueue``` once available.
- A better performing subscription container for this kind of queue-drain task tracking instead of ```CompositeSubscription```.
- Ability to remove a ```Subscription``` from a ```CompositeSubscription``` without it calling unsubscribe on the removed Subscription, á la ```MultipleAssignmentSubscription.set()```.