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
Replace size and info caches with a pool lookup cache and remove redundant pool searches.
Remove Bug #12739 work arounds.
Merge pull request #802 from Safety0ff/rmwrkrnd12739

Remove Bug #12739 work arounds.
Use the correct type for va_list
Merge pull request #798 from yebblies/valisttype

Use the correct type for va_list
Merge pull request #801 from Safety0ff/gcpoolsearch2

GC: Remove redundant pool searches