* Fun: Replace ENTINDEX with TypeConversion for consistency
* Fun: Add a class wrapping player's data
* Fun: Make TraceLine a post forward
Reason: as it is it breaks plugins hooking TraceLine because of the original game call is being superceded and other modules can't catch it. It looks like it's this way from the very start fun module has been introduced 13 years ago before. Fakemeta module comes a little later.
* Fun: Clean up code
* Fun: Toggle PlayerPreThink forward on demand
* Fun: Toggle TraceLine forward on demand
* Fun: Add HITZONE* constants for use with set/get_user_hitzone()
* Fun: Refactor a litte the player class
* Fun: Clean up a little more
* Fun: Fix typo in set_user_hitzones from previous commit
Currently amxmodx doesn't reload modules that use metamod, so MODULE_RELOAD_ON_MAP_CHANGE being defined or not doesn't make any difference.
Even though this commit currently doesn't change any behavior, amxmodx might in the future support reloading modules that use metamod, and all these modules in their current state either fail completely because of erroneous cleanup, or are untested (and most likely leak stuff).
Furthermore, these changes make it clear that these modules are in fact not being reloaded.