Noise Overhaul

Completely overhauled noise.hpp so that noise filters are implemented as functions (which can be chained together) rather than a chain of objects.

Also removed unused filters etc. (for now).

noise.hpp is no longer one of the files included by common.hpp.  I'm going to try and phase common.hpp out completely soon, but for now this shortens rebuild times while tweaking/changing/adding/etc. noise-related functionality.
Default World Generator - Rivers and More

Rolled the "default_generator_" constant string -- which is prepended to setting names before attempting to retrieve them from the backing store -- into the macros which create setting defaults and setting keys.  This eliminates a string concatenation each time an attempt is made to load a setting from the backing store.

Tweaked the horrible, evil token-pasting macros that make the configuration system bearable to increase code reuse and use a more reliable token pasting paradigm (i.e. use an indirect macro to make sure pasted macros are actually expanded).

Rolled most of the old rivers implementation (from when I was testing world generation using PHP-generated heat maps) into the new generator.  Made a few fixes/improvements (including tracking down a nasty bug that was horribly mangling river deltas), but haven't yet added dynamic river depth, so all rivers are the same depth.

Added a setting which allows users to specify an X/Z offset for the origin.  This allows users who like parts of a certain seed, but not necessarily the parts at/near its "natural" origin to play on that seed and spawn in at the part of the map they actually like.