Stop using err.h

We internally tweak the program name to undo the name mangling performed
by libtool, but any messages generated by the err.h functions still would
use the original name.

Generate the error/warning messages ourselves so that we can use our
mangled program name.  Fixes bootstrap tests under Ubuntu 12.04.4.
Ignore stderr to fix one test

The C++ runtime may choose to dump unhandled exceptions on stderr as is
the case in Ubuntu 12.04.4, and this would confuse our test.  Loosen the
expectations to let this pass.