Automatic sharding
Currently sharding is done entirely by the user. We should ideally provide some means to automatically create shards for larger bots which are intended to run on one instance.
This should likely be done by optionally providing the bot gateway url which is fetched internally to the DiscordWebSocket and building a util class for getting the bot info and creating and containing DiscordWebSocket instances based on the result