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.
I actually removed this intentionally because I have a slightly different plan for how to accomplish the same idea.