Initial checkin

This is just an initial checkin. A lot of things are incomplete, broken,
or just outright missing.