Analytics: Use proper index for storing listens

The code to store listens and starts wasn't using the same timezone logic as
the code to look those events back up.  This caused problems when the timezone
wasn't set the same as the server's local time.
Add RewindBuffer Tests

* FileSource: Tweak structure to allow one-by-one emits in tests
* RewindBuffer: Break source connect into function for testing
* Add Rewind Buffer tests
Upgrade Underscore; Testing work on SourceBase and Transcoding

* Upgrade underscore from 1.6.0 to 1.7.0 to stay current
* Sources/Base: Allow heartbeatInterval to be set in opts
* Sources/File: Call `_emitOnce` immediately on `start` call
* Sources/Transcoding: Add `discontinuity_stop` and `discontinuity_start`
  events for testing
* Sources/Transcoding: Add `disconnect` function for testing
* Start to expand transcoding and frame chunker tests
Improve Base Source Heartbeat Check

* Sources/Base: Implement local `Debounce` object to replace underscore
  version, since it can emit too early under load.
* source_base test: Add throttle to fake source; Add test for heartbeat
Use home-rolled debounce in transcoding source