Adds the following features:
* Support for subcommands and subcommand groups in the command options field
* A flag to make an `InteractionResponse` ephemeral
* User, Role, and Channel parameters now receive an object (e.g. `InteractionChannel`) with relevant attributes
Breaking changes relating to `InteractionResponse` response types:
* Removed the `with_source` argument to `InteractionResponse` as source-less messages (`ACKNOWLEDGE`, `CHANNEL_MESSAGE`) are deprecated
* Added the `deferred` argument to `InteractionResponse` to support the new `DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE` type (and the new "Application is thinking..." UI)
* Updated the response types in `InteractionResponseType`:
* Removed deprecated types (`ACKNOWLEDGE`, `CHANNEL_MESSAGE`) -- these no longer work well with the Discord client
* Replaced `ACKNOWLEDGE_WITH_SOURCE` with `DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE` to reflect the new name and behavior