Make it easier to read spec failures due to response status codes

Without this patch the test failure messages that result from an
unexpected response status code are very difficult to read because the
backtrace is hidden away in the response @errors instance variable.

This patch addresses the problem by introducing a small rspec matcher
that exposes the response error code and displays the backtrace in the
error message for the failed example.

The patch also includes a serialized YAML file modeling a request
structure in order to facilitate testing some of the helper methods.
Limit the number of saved events to the most recent 100

Without this patch the application will persist requests without bound.
This is a problem because we don't want to worry about maintaining this
application over time.  This patch addresses the problem by limiting the
number of events that we persist to the 100 most recently received
events by default.