Updated reports system

Player reports now contain more data in a new "info" field specific to
the report type.

Report types are more important, they are now all named and the report
name will appear next to a player's name in the reports list.

Currently, teleport and camera reports utilise the "info" field,
teleport reports fill this with the secondary location and camera
reports put the camera location and camera vector in here.

The reason for this is to make reports more flexible and more detailed,
now the camera position doesn't have to be taken from the report reason
string with some tricky sscanf and strfind magic (which had an exploit
if the report reason contained a certain character) now admins can put
their own camera in the position of the reported camera to see where it
was and what it was looking at.

Also re-organised the include order for hack detect and reports, they
are both now in the "Player" folder as they heavily rely on player
variables and interfacing with them. To solve the hook issue with
SIF/Button and other includes that may use SetPlayerPos, there is now a
file called "Hooks" which is included before everything else which can
override functions before they are used without needing to
inconsistently move include lines for main files to the top of the
script.