deal with principal public key as JSON object

The Persona javascript keygen routine provides the public key as a
*serialised* JSON object, but it is expected to appear in
certificates as a first-class object.  Since jose doesn't support
the "DS" key format, POST the decoded JSON in the provisioning
request and treat it as an opaque Aeson 'Value' on the server.
chase persona api changes
read issuer from Host header

Remove the hardcoded issuer and read it from the Host header
(or use "localhost" if the header is absent.)