Use headless env. for testing
Increased class-level javadoc, renamed some launch argument variables, now handling command-line usage requests.
Readme tweaks and tiny javadoc addition
Wrapped launch arguments handling and exception logging into their own methods. Now taking advantage of the AutoCloseable feature implemented by the TerasologyEngine class, resulting in a more compact main method and a full handling/logging of all exception-triggering paths.
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.
Merge PR #1397 by @msteiger - headless unit testing fix
Added /? as a print usage request flag, added missing argument to complete Usage string.
Add liquid data for water placed with Perlin. Explicitly set water's prefab.
Add null check so that items with null icons do not crash the client.
Merge PR #1396 by @emanuele3d - PC facade tweaks
Merge PR #1400 by @Josharias - prevent crashes from rendering held null icons
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 ColumnLayout unit tests
Fix PMD rule config
Fixed checkstyle
Fix FindBugs errors
Tweak PMD - disable logging guard warnings