Support `X-Audit-Log-Reason` header
What?
Add support for the X-Audit-Log-Reason header.
Why?
The X-Audit-Log-Reason header allows providing context to the request being performed, which is then added to the guild's Audit Log. This is a great management feature to have.
How?
Add an optional reason parameter for requests that support it. This seemingly small change is breaking since it affects a couple of function signatures that didn't have params prior.
Testing?
examples/ and test/ executables have been updated to take advantage of this header, and this new feature has been tested against those.
Anything Else?
The reason gets logged as expected for POST and PUT requests. For some reason, there have been DELETE requests that didn't get their reason logged, even though it's being sent.