Don't use std::string when interfacing between QString and small_string.

This means that our code, I believe, no longer has any interactions
between Qt and the STL, so when we're using all bundled-libs besides
Qt, libstdc++'s -D_GLIBCXX_DEBUG iterator-validity-debugging mode
should be correctly usable.  I might enable it with -DPARANOID=ON
given all its correctness prerequisites are satisfied... (When I tried,
it found no errors, incidentally.  I know it was checking things,
because when I introduced an intentional iterator validity error,
I got a runtime error message from that debugging framework for
my trouble :)
remove hack (#define of main()) from Boost.Test usage
fix mistake of using a deprecated boost function (it also wasn't in boostbcp)
Emulate a part of Boost.Test rather than using it.

// This emulates a part of the Boost.Test API but is significantly
// more lightweight.  Switching to this alone reduced the binary size
// by 1/3, the linking time by somewhat, and got rid of the last of
// the global constructors/destructors (save perhaps in Qt and
// separately-compiled libc / c++ std lib code that I haven't discovered).
// This also solves the problem that Clang-compiled Lasercake got into
// a mysterious infinite loop when trying to run the tests and that GDB
// had internal errors when trying to open that binary (Clang 3.2, GDB 7.5.1,
// Arch Linux x86_64, Jan 2013).
Regenerate smaller boostbcp after removing Boost.Test dep

(boostbcp = boost-subset-copy)
Move boostbcp to bundled_libs where it belongs.
Update CMakeLists.txt & paraphernalia some.

This revealed that in fact our Boost Program Options .cpp files
have some global constructors.  Oh well.  Boost Program Options
always seemed heavier-weight than needed for something so simple
as command line parsing, but I haven't found anything as portable
and trivial to use and not-adding-another-lib-dependency yet.
Default GLIB to off because it was a pretty much useless dep.
Delete broken and mostly pointless -DTHREADS=OFF option
Make TIMING a runtime flag.

It's nice to be able to choose at runtime, and the compile-time
disablement no longer had a purpose since its only nontrivial dep
is header-only Boost code.
remove more unused boost bundled libs
remove now-unneeded -lrt.  If this breaks for anyone, yell--

I can make it a compile test easily enough, but I suspect that one
of the changes we've made at some point makes it unnecessary.
So, removing it until proven otherwise.