Made default make target the debug build

(instead of the unit tests being the default)
Moved common/main.cpp out of common/

It isn't common to all programs and was causing link errors.
Got UI and state machine communicating!

I was using boost::asio terribly wrong.
Hopefully I'm using it less terribly now.
Merge remote-tracking branch 'github/master'