fix: Try to cache DM channels during REST.
Created by: Neuheit
Summary
This PR attempts to fix DM channel caching by trying to cache it from rest, since a channel create event is no longer sent for DMs. This also allows us to fetch a cached DM channel rather than having to make a request every time, and we can ensure the state of the cache since it will be removed upon a DM channel delete.
I also made guildId nullable on the DiscordChannel
object since the DiscordDMChannel
inherits from it.