This huge patch contains some removal of oddities in
the code for older compiler that should not be still in
use, making the source code more canonical from the C++
point of view.
Basically, we introduce bool, true, false, explicit,
typename and restrict (on second thought this one might
be a little bit premature, opinions?) directly into the
sources. Note that the features are still autodetected
and replaced with reasonnable values in compiler.h if
Unfortunately, I also did some reformatting in the
process in some places. I find it usually more readable
but others may differ. I wanted to entangle them before
submitting, but well these are so much better IMHO....