Breaking Changes
* Renamed many `.get()` functions to be more specific to the classes they belong to.
Other Changes
* Import `tmx.py` classes to `__init__.py`
* Add `__all__` attribute to `tmx.py`
* Remove `trackmania.api` and `trackmania.constants` from `docs/trackmania.rst`
* Only store `player_name`, `player_id` and `player_club_tag` in `Leaderboard` class.
* Add a function to get the player of that specific leaderboard to `Leaderboard` class.
* Add indent to `__init__.py` docstring.
* `Player.search` returns a list even if there is only 1 player with the given username.
* Removed unnecessary commented code in `Player._parse_player`.
* Optimize `Player._parse_player` by removing `if` statements and using `my_dict.get(key)` instead.
* Optimize all `class._from_dict()` by removing `if` statements and using `my_dict.get(key)` instead.
* Change `list_ads` and `get_ad` to classmethods.
* Change build functions in `constants.py` to classmethods.
* Cleanup `matchmaking.py`.
* Create `__str__` for `PlayerMatchmaking`.
* Create `__str__` for `PlayerTrophies`.
* Removed docstrings for private functions
* Improve consistency across modules.
* Create `to_string` static function for `PlayerZone` class.
* Fix loop in `.load_more_leaderboard()` using the wrong variable.
* Rename `rate_vote_average` variable to `rating_vote_average`.
* Rename `embedded_items_size` variable to `embedded_objects_size`.
* Fix tags variable using incorrect dictionary key in `TMXMap._from_dict()`.
* Add caching for `.load_more_leaderboard()` function.
* Create new class for `TrophyLeaderboardPlayer`.
* Update `PlayerTrophies.top()` to return a list of above class.
* Use `strobj.join()` function for `PlayerZone.to_string` to get rid of unnecessary extra commas.
* Small Fixes in docstrings.
* Rename `_TMIO` and `_TMX` in docstrings to `TMIO` and `TMX`.
* Fix some class type hints in docstrings.
* Fix docstring for `trophy_obj.score()` that was breaking the entire file.
* Add `TrophyLeaderboardPlayer` to `trophy.py __all__`.
* 2 Basic Examples.
* Example to get player's cotd stats.
* Example to get data on the latest totd.
* Add "Accept" and "Content-Type" headers for API Request. Both set to "application/json".
* Add `RATELIMIT_RESET` field to `config.Client` and fix bugs with Ratelimit monitoring. Fix 21.
* Small Updates to Docstrings.
**Full Changelog**: https://github.com/NottCurious/py-tmio/compare/v0.3.3...v0.4.0