Improved reporting methods and reports list

Added 4 new columns to the Reports database table (requires deletion of
the existing table or manual addition of the new columns) "type" which
denotes the report type, and "posx/y/z" which points to the position of
the subject player (reporter or target depending on the type) when they
were reported.

Improved "/report" command to offer a list of options rather than just a
player ID. This allows simple entries such as an online player ID or an
offline player name, as well as the last player who killed the reporter
or the closest player to the reporter.

Improved "/reports" list for moderators and administrators, this now
contains the option to teleport to the position associated with the
report, and for teleport reports an extra option for the teleporter's
destination position is available. Useful for checking locations to help
stop false reports (some reports point to the spawn room which are
generally just mistakes due to lag delay)

Added a check in HackDetect to avoid reports of teleports below the map,
this is where players could fall through holes in the map and be
automatically teleported to the nearest surface path node, which
sometimes results in a false report.