Initial Gateway Intent Support
Created by: Neuheit
Summary
Fixes #526 (closed) and implements a starting point for working with intents.
Details
This is pretty much my old PR just rebased with the newest branch, but I felt the need to create a new PR because this is a very important feature. It may make the lib unstable at first but right now users have a choice whether they want to use them or not, so if they break something they can always just report the issue and opt out of using intents for the time being. I think it is best that we implement this now and fix any issues that come up before Discord makes them mandatory.
Changes proposed
- Add intents enum
- Add a few obvious checks for intents (more may be needed).
Notes
This will also provide a big relief for bots that have a large cache or just receive many unnecessary events.