This comit addds support for select menu message components defined at https://discord.com/developers/docs/interactions/message-components#select-menus.
Added 2 new converters: InteractionConverter and MessageComponentConverter. These converters are responsible for resolving the API type given some condition.
Added new core interface for representing Interaction Data, this is used in part with the InteractionConverter to parse the data to the respective types.
Updated the way gateway converting is done with interactions. The Interaction payload was moved from the API.Gateway namespace to API, as the interaction object is not websocket specific. The socket entities no longer try to parse the interaction models data to a JToken to desterilize since the data is now parsed to the correct model by the contract resolver.
Added SocketApplicationCommands, Added method in SocketGuild to fetch that guilds ApplicationCommands.
Tested all rest routes and fixed them accordingly.
Did more testing and I think its ready to go
New Rest entities: RestApplicationCommand,RestGlobalCommand, RestGuildCommand, RestApplicationCommandOption, RestApplicationCommandChoice, RestApplicationCommandType.
Added public methods to the RestClient to fetch/create/edit interactions.