Runtime work

@housel, what do you think of this so far? It is is laying a lot of groundwork for a couple of big changes:

#. Being able to build multiple runtimes per platform.
#. Being able to build with either Boehm or MPS (not yet complete exactly).

As a safety, for the platforms where we currently build HARP, I have it only building HARP. On the others, it builds something for LLVM and C (although there's no actual LLVM or C runtime code in there yet).