merge Eli's sideboard branch into master

uber2.0 WIP

a few things are still borked after this merge, need to fix some stuff.
documented here:
https://docs.google.com/document/d/1p0AReHCmCatfp0GwTbilvovIZSc6fjKZIWPxKSiVINY/edit

TODO: after the merge, make those into issues.
Right, this is one thing that isn't actually implemented yet, but we want to have Travis actually build our .deb packages and upload them back to Github using the Github "releases" API.  Then we could have puppet just check for new debian packages periodically, like every 5 minutes or whatever.  I'd like that to eventually be the way we deploy, but that definitely doesn't need to be a blocker for launching prereg.