Lazy Evaluations and Rate Limit Handling
major refactoring within the code to lazy fetch channels, channel members, and users. This leads to an improved scalability and faster start up time.
* Users are fetched one by one unless all users are iterated over
* Channels members are only fetched upon access of the `.members` attribute
* Channels are fetched upon access
in addition, there is support for listing and deleting message reactions