Improved wrapper-script support for -O.

Modified the compiler wrapper scripts to better support the
optimization (-O) flag.  The challenge is that GCC accepts {-O, -O0,
-O1, -O2, -O3, -Os, -Ofast} and clamps -O<n> for n>3 to -O3; opt
accepts {-O1, -O2, -O3, -Os, -Oz} and aborts on any other value; clang
accepts {-O0, -O1, -O2, -Os, -O3, -O4}, aborts on -O<n> for n>4, and
ignores any other value.  In this revision, Byfl passes optimization
flags to the linker (clang) and maps GCC optimization flags to the
corresponding opt and clang flags.