Host refactor

This implements a whole bunch of stuff including a generic container config, a libvirt-lxc container backend, consistent builds/releases via image IDs, and a new attach protocol. A few changes that are unrelated got included because it was easier to base them off of the new work rather than work to merge them twice.

@lmars There is a lot here, please review the controller changes and feel free to comment on as much or as little else as you want.

Fixes #18 
Refs #13
Refs #26 
Could use `l.Signal(id, int(syscall.SIGTERM))`