Operation: throttle

The throttle operation is a filtering operator which is meant to combat receiving bursts of events in short periods of time. The original Rx .Net implementation of this operator works as followed:

Upon receiving an event A, it waits a certain specified amount of time Z before propagating it to the `Observer`. If another event B is received within this period of time, the propagation of A is cancelled, and B will be propagated in stead as soon as a Z amount of time has passed since B was received.

As @benjchristensen already mentioned, the use of threads in this way is quite inefficient. To this end I proposed two additional variations on this scheme of throttling [here](https://github.com/Netflix/RxJava/pull/258#issuecomment-17880627). The question now is which schemes do we want (to support)?

Any thoughts on this is highly appreciated!