Add support for LTO and sanitizer variants to the driver and bootstrap script

None of these work correctly at the moment without workdir hackery, so they
are not built by default. Furthermore, most of the sanitizer variants either
fail to build or run correctly.

Of the sanitizers, TSan seems to work best (although that isn't saying much),
and while it does not appear to be able to detect races between goroutines
running in the same thread, I've managed to provoke it into detecting a race
between goroutines running in different threads by creating a large number
of goroutines and setting GOMAXPROCS to a large value.

It also found a number of potential data races in libgo itself, but these
need more investigation.

It might initially seem pointless to support ASan and MSan, but they could
be useful for finding bugs in libgo, and bugs arising from interaction with
libraries written in other languages.