The encoding in the top bits for the size class did not respect kernel pointers. Using an intptr_t means, we can use a signed shift to maintain the kernel pointers.
Windows Ninja build was complaining about /W4 and /W3 being specified, and C++ latest and C++ 17. This fixs those complaints.
History squashed from internal development. Internal history has commit hash: e27a0e485c44a5003a802de2661ce3b21e120316