Build system reboot

The fledgling version of the new build system. Can do all of the typical building and installing etc. Only builds man, portals, and messages (with a random test message that will be replaced when we have actual .proto files) but has everything set up so new modules should theoretically have no problem finding these things when they're added as subdirectories. Everyone will need to rebuild protobufs once but not after that. Also, goes back to "cross" and "straight" since we don't need to distinguish between two types of robot.

Includes Josh's pull request too.