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
Fixed a warning in CraftingRecipes.
Replaced X.size() with X.empty(), where applicable.
Added enchantment combining into cEnchantments.
Added prefab hitboxes.

The nether forts should quite limit their bridge-to-floor overlaps. Cannot eliminate, but at least severely diminish.
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
Lay foundation for fireproof entities.

Prevent any entities with the m_Fireproof flag from taking fire or lava damage.
Revert moving gcc to g++11 in 18c3b1
Fixed capitalization issues

Wasn't parsing correctly before, as some items were not capitalized correctly.
Fixed indentation and changed m_Fireproof to m_IsFireproof.
Merge pull request #923 from archshift/master

Added flag for fireproof entities.
Updated NetherFort prefabs from the Gallery server.
Fireproof status getter and setter.
Added IsFireproof hook for monsters.ini