Attempt to handle circular references

Raven will attempt to serialize an object, passed via the :extra
parameter, containing circular references. The default behavior of
multi_json (oj) is to crash the process after exhausting all of the
available stack space.

When using the json gem instead of oj ruby raises a SystemStackError.

This commit adds two configurable options:

    :json_adapter passed to MultiJson
    :json_limit the amount of stack depth to use when serializing

Configuring the adapter as :json_gem with a reasonable :json_limit
will raise a SystemStackError in the event of a circular reference.

This commit attempts to handle the SystemStackError by removing the
extras, containing the circular reference(s), and resending the event
to Sentry. Additionally the Raven client will send the
SystemStackError to Sentry after calling `to_s` on the extras.

Change-Id: I8ba91cbf27e9de2a1ea2aa06b8933ecd323f6568
Reviewed-on: https://gerrit.causes.com/23376
Reviewed-by: John Skopis <john.skopis@causes.com>
Tested-by: John Skopis <john.skopis@causes.com>