Added support for Lua DBGp Debugging such as Eclipse debugging

To support this CorsixTH simply needs to have "debugger.lua" and a
"dofile('debugger')()" call to it.

This is a 3rd party Lua script and therefore won't be distributed
with CorsixTH, so developers will have to download it into their
Lua directory when setting up a computer for CorsixTH Lua DBGp
debugging.

I've made a new function for the call "dofile('debugger')()":
App:connectDebugger().

I've created a new main menu button to call connectDebugger() which
will only be in the main menu when config.debug = true. I've also
added a connectDebugger() command to the debug menu.
Changed all classes to make Eclipse LDT outline methods
Debugging help: +Entity.ID

I've added this field to help with debugging by allowing an entity instance which
caused an error to be easily found in a saved game from before the error occured.
Debugging help: +World.game_ticks_since_saved_or_loaded

Incremented in World:onTick() when a game tick occurs.

Set to 0 in:
* World:World()
* Persistance:SaveGameFile()
* World:afterLoad()
+GameUI:centerViewAtTile(x, y)
Utility: +getOS() +getIP() +convert_localised_string()
WIP Email Report Changes

This is a temporary commit created to backup my WIP work.