Fix cache inconsistency when free'ing from GC

After a pointer is freed, it is not removed from cache thus if it is allocated for another purpose any subsequent realloc calls will refer to the previous size.

This can cause memory corruption with an application that uses `GC.free`, `delete` or `realloc(p, 0)`, or a complete crash if a big allocation's size is cached and the page pool was reduced with minimize, ie. the call to `realloc` will try to resize in-place rather than with malloc.

Verify USE_CACHE at compile-time

Fix alignment
Fixed some signed/unsigned warnings in druntime
Merge pull request #799 from lionello/bug259

Fixed some signed/unsigned warnings in druntime
Fixed indentation and referencing error

Testing .editorconfig again...

Identation should be fine now...
Merge pull request #797 from etcimon/patch-1

Fix cache inconsistency when free'ing from GC
Fixes for OSX
Merge pull request #800 from lionello/osx

Fixes for OSX