rebased against upstream/master

Hey look, it merges!

I think I did this right, but I'm not sure.  At least the button is green.  

1) I branched `new` to `upstream-rebase` and rebased against upstream/master.  I addressed a few merge conflicts.  That's what's in #7 which doesn't merge properly.
2) I branched `new` to `new-rebased` and merged in the changes from `upstream-rebase`.  
3) I verified that `new` can be merged into `upstream/master` cleanly.

@nateabele  If this seems right, push the button