add otter.util.retry.should_retry_effect

This is just a little helper function for gluing some of otter.util.retry to effect.retry -- specifically the ability to call the "can_retry" functions, and the interval-with-delay.

This makes use of a new intent I added to the Effect library, "Delay", which allows effectful code to "sleep" without needing to parameterize the clock.

This branch depends on the pure-http-refinements branch for no good reason other than that branch updates the effect dependency to 0.1a7 which this branch also depends on, and I didn't want to cause a conflict. So to see JUST the changes from the branch, click here: https://github.com/rackerlabs/otter/compare/pure-http-refinements...retry-effects
Should you just check if `eff == Effect(FuncIntent(can_retry))`?