Improve voice state cache behavior.
Created by: Giggitybyte
Summary
Currently, the voice state cache is always updated every time VOICE_STATE_UPDATE
is received from Discord. This behavior causes voice states to never be removed from the cache when a user leaves a voice channel.
Changes proposed
Voice states will be now removed from the cache by default and only updated if the user is still in a voice channel.
Notes
I wrote this up and tested it in the span of a few minutes; yell if I made an oversight.