Added a command for automatically reloading screens when their ui file changed.

The command is called enableAutoScreenReloading.

Note that in the current intelij project setup lets terasology
load screens from engine/build/classes/assets/ui/ingame.
Call initializeWithInteractionTarget each time when a BaseInteractionScreen opens.
Properly deactivate entites when their chunks get unloaded.
Added an item for inspecting entities powered by an external reference.

The item can currently only be obtained via /giveItem inspectionTool

The item has two purposes:
- You can link it to an entity and then use that item to view the current
  json representation of the selected entity. To get started use the item
  and enter "this". This will make the inspection tool show it's own
  entity data in json format. Via the owener attribute you can then
  determine the ids of the other items in your inventory.
- It is powered by a component that has an reference to the selected
  entity. That makes it possible to construct external entity references
  accross chunk borders. Thus the item can be used to debug/test external
  entity references too.
TerasologyEngine's initialization refactoring, reordered initial variables, moved init() method to the constructor, engine state boolean variables made into an EngineState enum and added corresponding accessor methods, renamed stopwatch, added a TODO regarding the Advanced Monitor, edited TeraEd and PCFacade to remove unnecessary engine.init() calls.
Fix PMD rule config
Fixed checkstyle
Fix FindBugs errors
Tweak PMD - disable logging guard warnings
Merge PRs #1404 & #1405 by @flo -  tiny tweaks
Merge PR #1406 by @flo - debug item
Merge PR #1407 by @emanuele3d - refactoring
Merge PR #1398 by @flo - runtime ui tweaking
Straighten out some imports (IDE ping-pong?), tweak credits
Change the entity id type from int to long.

This allows us to drop in future the free list and meta data tables.
Don't reuse entity ids.

Reasoning:
- The entity ids are now of type long and should thus not reoccur.
- It allows for further simplifications.
 -> It is no longer necessary to manage external references.
    As they where mainly needed to check if the refrences
    of a restored entity are still valid and thus have not been reused yet.
Don't maintain and restore external references.

This code simplification is possible, as ids do no longer get reused.
Tiny checkstyle fix in TerasologyEngine
Added a number of class/method-level javadocs. Added a few comments. Renamed a few variables and one method. Moved three small instations to the head of the mainLoop() method and out of the main loop proper.
No functional changes: only reodering of methods. First are initialization/constructor-supporting methods, followed by life-cycle methods, state handling methods, accessor methods and finally methods that didn't fit anywhere. If feasible/meaningful, within each category methods tend to be listed after the methods they support, while in some cases it was possible to keep related methods together even if they cross category-boundaries. Also fixed a small typo.