Scheduling actions periodically

As proposed earlier by @mairbek in https://github.com/Netflix/RxJava/pull/228#issuecomment-16254526, I extended the `Scheduler` by yet another method `schedulePeriodically`. This has a default implementation that works via recursion. I tried it out with all existing schedulers, and it seems to work fine. I also wrote a unit test for it using the `TestScheduler`.

I switched scheduled executor services to use their fixed rate scheduling instead of the recursive default implementation. And I also switched the `OperationInterval` implementation to use periodic scheduling.