Minecart collision and general improvements

+ Implemented collision on one type of rail
* Improved curved rails somewhat
* Fixed a crash bug
Merge remote-tracking branch 'origin/master' into minecartimprovements
Added more rail functionality
Fixed weird meta with curved rails
Minecart improvements and fixes

* Fixed curved rails
* Fixed detector rails in certain situations
* Fixed powered rails and others passing bad meta to SnapToRail()
Added one more direction into collision checks

* Added direction XM_XP
* Improved performance, thanks STR and xoft
Begin implementing ascending rails
First attempt at Compiling Generator seperatly
Added Inifile and OSSupport Linking
Seperated BlockArea From World

If anyone can come up with a better name for the interface I'll change it, It contians to methods which do compleatly unrelated things
Merge branch 'master' into GeneratingBenchmark

this merge is necessary,
Merge branch 'ForEachChunkProvider' into GeneratingBenchmark

Conflicts:
	src/World.h
Moved Schematic file methods to seperate class
Actually implemented interfaces
Merge branch 'master' into GeneratingBenchmark

Conflicts:
	src/World.h
formatting changes
Added manual bindings for moved functions
Fixed spelling error
Added PolarSSL as a submodule.
Replacing CryptoPP with PolarSSL.

This is only the CMake modification to build with PolarSSL, the actual MCS code doesn't compile at all yet.