C compiler

A backend has been added to clang to support the MOS instruction set. This backend may be targeted by adding the flag  to clang.

The compiler is a freestanding implementation of the C99 standard, with a couple caveats. The biggest is that it isn't finished yet! Code generation is broken, both in terms of what compiles and in terms of whether or not the results actually work. Development is ongoing though, and test cases are moving from failed to passing at a considerable clip!

Even for the initial release, there'll still be some caveats: [[Category:C]]
 * While this is a freestanding implementation, we'll also provide a few support libraries; mostly just those needed to get LLVM's end-to-end test suite passing. This includes printf, sprintf, and alloca.
 * No float and no double. We'll eventually ship a working IEEE 754 soft float library with the compiler for completeness' sake, but we expect low demand for this, and it'll distract from the rest of the project.
 * The (default) included printf will not be compiled with floating point support, even when we ship soft float libraries. We'll find some way to link in a different version if users elect to link the soft float routines.