Initial checkin. Moving code over from mcs. This will be a separate
application that mcs can build (or mcs can be a meta project that just
builds all the other application dependencies).