Add explicit timeouts to tests
Merge pull request #72 from goinstant/jbowes/test-timeouts

Add explicit timeouts to tests
Reset the timer based on storage changes

Add a channel to storage that emits the next expiry time on changes to
storage. This allows the server to wait for entries to be committed
before changing the time, and properly sets the timer if we restart the
whole cluster.

closes #61