PDF Form Generation for Users

@ericisaiah @yez 

This branch has survived for **TOO LONG**. I’ve occasionally merged master into it, but there is still far too much stuff to digest on here.

I would like to merge it pretty soon, but there is enough going on I think we should talk about at least some of it.
It’s used to serialize the data passed to the verifier, since it needs to be a flat string. The GZip only saves a dozen chars on the output (give or take), but it also adds a layer of obfuscation to the resulting token.