Adds options to CleverError as an optional param, and displays them in the output.

It occurs to me this might be a security risk as we probably don't want to display headers with tokens in the logs. Wondering if opts should be refactored into its own class, with a to_s that would only show non-sensitive info?
Adds opts to InvalidRequestError to pass along.
Disables rubocop parameter list checking for a known violation that I'm not ready to fix.
Adds an options class.
Switches over to using new options object to obscure sensitive information.
Passes opts along every time we raise an error.