Make web hooks retry on non-200 status code.

Web hooks are currently handled in a fire-and-forget manner. If the remote server returns a non-2XX status code, the hook is never retried.

With this change, an exception is raised on non-2XX status code and this the hook is scheduled for retry.
Line is too long. [108/80]<br>Use the new Ruby 1.9 hash syntax.