get rid of sprintf
add many macros to cope for variations between compilers (copy-pasted from WTF/wtf/Compiler.h)
That way, we can use many C++11 attributes in the code (OVERRIDE, FINAL, etc.) even if the compiler is not C++11
use the global definition of WARN_UNUSED_RETURN
AbstractCache: make abstract classes pure abstract. trivial data members are now in Helper classes.