Improve throttle and unit tests, add jsdoc

Throttling events where throttle period === event period now behaves
like the identity function.  Throttling events with a throttle period
of 0 is also an identity.

Improve stream-helper's assertSame.

Add lots of jsdoc, mostly copied and tweaked from 0.9