Remove unused rangelim function (the macro still exists)
Add gettext to Travis build

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Fix Belarusian translation header

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Add (optional) client-side saving of server map to disk
Tweak core.serialize

This adds proper support for nested tables and improves performance a bit.
Add strict module

Also fix leaking globals found by it.
Fix wallmounted mesh rotations
Clean up rollback
Fix raillike bug (currently manifests itself on Android), and minor improvement to readability.

NB: Minor edits to patch made by Zeno- (int to short and minor formatting)
Fix leaking global in texture pack menu
Simplify loading of Android version of menu
Mgv5 get ground level at point function. Fast spawn player version
Mgv5 1 up 1 down overgeneration for biome surface continuity
Optimise getTileInfo()

getTileInfo() ~1.5x faster
getSmoothLight ~2.0x faster
Optimise functions from CNodeDefManager and VoxelManipulator

CNodeDefManager::get()
VoxelManipulator::addArea()
serialize.h: use machine native byte swapping if available, fall-back to previous generic method if not (supported for GCC using endian.h, detection done in cmake) write/readARGB8() - just write 32-bit color in one op, instead of 4 1-byte ops cleanup: removed unneeded buffer init for some serialize-out functions use a #define for the fixed point factor in read/writeF1000()

nodemetadata.cpp, nodetimer.cpp
	optimzation: simpler deserialize node position method

staticobject.cpp:
	cleanup: use util/serialize.h inlines instead of its own de/serialization

serialize.cpp:
	minor optimization/cleanup: avoid generation of unneeded string temporary

CMakeLists.txt, cmake_config.h.in: detection of endian.h

config.h: added HAVE_ENDIAN_H

Commits due to feedback squashed

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Update credits menu
Fix compiling if no endian.h found

f7d6509 introduces error when no endian.h found in the system.

Since "CHECK_INCLUDE_FILE" returns empty string instead of "0", when
"cmake_config.h" is generated it has "#define CMAKE_HAVE_ENDIAN_H " line.
Later we have "#define HAVE_ENDIAN_H CMAKE_HAVE_ENDIAN_H" in the
"config.h", an thus "HAVE_ENDIAN_H" is also empty sting. Because of
this, "#if HAVE_ENDIAN_H" is incorrect preprocessor directive.

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Fix smooth lighting (ambient occlusion)

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
refactor main.cpp