Fix constant expression warning where sizeof(size_t) != 8.
On hosts where sizeof(size_t) != 8 the shift value is too large. The code for the shift will
only take place where sizeof(size_t) == 8, however the compiler still considers the branch to be
taken. Code like this could be acomplished with something akin to 'static if'. The solution is to
take advantage of fact that where sizeof(size_t) == 8, the expression (sizeof(size_t) * 4) will
produce 32 and on systems where that is not the case, the expression will produce a constant
value well within the shift range for size_t.
Use preprocessor magic to implement overridable functions.
This helps clean up use of generic container code.
Take advantage of lambda-cc now. Also move hotter data members in containers to the top to
make better use of cache, this helps performance of Redroid on systems with very little
CPU cache.