Use setting groups for NoiseParams

Add format example to minetest.conf.example
Add Settings::setU16()
Throw exception on attempted access of NULL settings groups
Settings: Fix getNoiseParamsFromValue()
Add definable node_stone to biome API, mgv5, mgv7. Reduce and correct depth of mgv7 biomes. l_mapgen.cpp: add '#include mapgen_v5.h' because '#include mapgen_v7' is there. Improve underwater grass hack
Settings: Various setting group fixes and enhancements

 - Remove blank setting values when setting has a group
 - Pair setting values with groups in file when possible
 - Preserve user-set whitespace in setting objects
 - Delete setting value when setting NoiseParams group
 - Delete overwritten groups outside of lock
Make dropped items larger and rotate faster

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Right mouse button behaviour for craft/inventory If right mousebutton clicked once then don't drop single items into slots. If right mouse button has been clicked and held a second time, drop items as the mouse is moved. In the second case (automatically drop/place items as mouse is moved) only auto-drop into blank slots, or slots that contain the same item.
Optimise VoxelManipulator::copyFrom

~3-4x faster

This indirectly optimises MapBlock:copyTo() which in turn improves performance of MeshMakeData::fill()
(INTERIM) Make sizes of the font in formspecs consistent and not so large

Until a permanent fix can be developed
Recalculate normals for mesh #0. Fix for issue #1902.
Fix MSVC build

Note: The unit test was technically incorrect for all platforms but passes due to implicit casting
Add name of node 'pointed at' to debug

This is "Add name of node pointed at to debug #1677" by @rubenwardy updated to work with game.cpp after it was refactored.
Add Lua helper functions vector.apply(v) math.sign(x, tolerance)
Performance of main client loop up to 2x faster In places, up to 3 times faster

NOTE 1: This does not mean a 2x increase in framerate. Increase in fps may be up to 1-2fps
NOTE 2: This local 'caching' of settings is not optimal and an alternative solution will be worked on after 0.4.11 is released
Rewrite generate notification mechanism

Add support for notify-on-decoration
Clean up mapgen constructors
Clean up mapgen.cpp code style somewhat
Remove trailing whitespace from some files
Build for win32 & win64 on Travis too
Add workaround for failing clang build
Close settings files and save them correctly
Ignore some mouse events sent from scrollbar to GUITable

Fixes #1567, #1806.
Add minetest.clear_registered_biomes() api
Schematics: Fix minetest.place_schematic() when defined by a Lua table