Sign then Encrypt

Just as a heads up this is wacky as shit because of some weird merging and rebasing…I'm still looking at it but if you see anything odd please let me know.
BTW, a cleaner way to do this is to use dependent PRs, though I admit it is a bit awkward to depend on other's PRs. We need a faster PR-review-merge cycle.