Add before_retry_block.

I've been wanting something like `:retry_delay` to sleep between retries but thought `:before_retry_block` would be more general.

Looking for feedback.