Added the concept of "block sounds", which are defined in blockSounds/*.blocksounds.

The idea here is that large groups of blocks will have the same soundscape. Instead of repeating the sound definitions in each block (or template), a soundscape is defined once and then referenced via ID from the block definition. Sounds from the given lists are randomly played when that event occurs.

For footsteps, the block's footstep sounds are prioritized over the creature's footsteps at this point. This probably needs more work when other types of entities are created.
The blocks for footstep sounds should be checked on the blocks *below* the characters feet, not *at* the character's feet.
If no sound set is specified, "engine:default" is now loaded as an asset normally (so it can be overridden by other modules). The BlockSounds.NULL is only used if a Block is not defined via the BlockLoader.
Added several sound presets and added them to blocks.
Added block sounds directory to Core build file, which is used for new modules.
Shift clicking items results now in an instant transfer of the item to the HUD bar or player inventory.

- Shift clicking an item in the HUD bar makes it move to the player inventory.
- Shift clicking an item in the player inventory makes it move to the HUD bar if it has space.
- Shift clicking an item in a container results in a movemnt to HUD bar or if its full player inventory.
- The item will be moved to an existing stack if there is one with space or to an empty slot.
- Items won't be moved to slots for which the BeforeItemPutInInventory gets consumed
- The shift click can be prevented by consuming BeforeItemRemovedFromInventory at the source inventory.
Added a headless IDEA run configuration
Made the headless run config use the terasology-server dir as its homedir
Merge #1222 by @shartte - IntelliJ headless run config
Don't print the welcome message multiple times on the server console
Fixes an issue where chunks were never marked as aready after calculating lighting in headless mode, since the headless renderer never called the appropriate method.
Fix the BaseBooleanFieldFacet3D
Merge #1229 by @sharrte - headless server spawn fix
Merge #1228 by @shartte - headless console fix
Quick fix: make headless try to figure out a default gameplay module / world generator akin to the new gameplay picking GUI
Merge #1219 by @shartte - new block sounds system/asset
Merge #1230 from @Josharias - facet fix
Merge #1218 by @flo - shift-click to move items
This fixes two issues:
1) InitialiseWorld created the Chunk Storage before resolving the World Generator. If the World Generator could not be resolved, the chunk storage was never properly disposed, leading to threads still running in the background and the server never shutting down.
2) Some initialisation stages return to the main menu (via changing state to the main menu state). Since the headless server does not have a main menu, this should actually shut the server down. Implemented this using a StateChangeListener that forces the server to shut down whenever it changes to the main menu state in headless mode.
Added an option that allows light contribution to be clamped to (1,1,1), effectively reducing oversaturation.
Added a lot more video options (currently all under experimental/high end since impact is unknown).
When debugging is enabled for rendering, an OpenGL debug context is created and a debug hook is registered. This logs a lot of info from the graphics driver in the log.
Validates that the server signature validates before starting the server. If it doesn't validate, it will create a new one. This fixes issues that arise when the server identity gets corrupted for whatever reason.
Merge #1239 by @shartte - server cert improvement