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.
`make` doesn't run `flake8` any more because it may conflict with `pylint`. Slight PEP8 errors may creep in, but nothing important.