Add HotSignal.groupByInterval(_:onScheduler:)

Following [this](https://gist.github.com/staltz/868e7e9bc2a7b8c1f754) article, mentioned in #1520, I was really confused by this operation `buffer(stream.throttle(250ms))`
![](https://cloud.githubusercontent.com/assets/4080935/4861303/717e65a8-6101-11e4-8c00-4833994a9d26.jpg)

And I failed trying to implement similar behaviour using RAC 3.0 `throttle` and `buffer` implementation. Seems that `HotSignal.buffer` is something completely different from RxJS `buffer`. I didn't find anything similar, so I propose my own implementation for this behaviour, if it would be useful and I didn't miss anything.

`throttle` omits any value between interval except the latest, so I don't get how `buffer` collects those. Maybe `CompositeDisposable` in RxJS `throttle` implementation make sense for this, can someone explain me how does RxJS `buffer` works with `throttle`?