Did some static analysis, fixed some bugs and optimized a lot of code
Merge remote-tracking branch 'origin/master' into fixes

Conflicts:
	src/Authenticator.cpp
	src/ClientHandle.cpp
	src/Entities/Minecart.cpp
	src/Protocol/Protocol17x.cpp
Small style changes
Fixed clang compilation errors. Apparently gcc and MSVC do not care about the order of initializer lists, but clang does.
Declared one mutex as mutable in order to allow for const correct get accessors.
Fixed Flint and Steel, reverted Minecart change, renamed a parameter name
reverted the revert of the minecart collision detection fix.
Merge pull request #909 from jfhumann/fixes

Bug fixes and optimizations.

We need to visit the API functions and check that they return only those values expected. `cWorld::CreateProjectile()` seems affected, too, by the same issue of ToLua returning extra values. In the cleanest form, these functions will need moving to ManualBindings.cpp