Add core.get_mapgen_names() to Main Menu API (and use it)

Also rewrite mapgen registration for static initialization
Mapgen: Use getBlockSeed2() for blockseeds (much better uniformity)
Fix some lingering code style issues
Add support back for resolving group names in NodeResolver
Fix documentation for string functions
Decoration: Fix default parameter values
Replace instances of height_min/height_max with y_min/y_max to remove ambiguity
Cleanup updateCameraDirection and fix random input not working
Fix endian.h include for FreeBSD
Add display_gamma option for client
Fix map parameter load order