types: add Base64X509

The "x5c" (X.509 Certificate Chain) parameter used in JWK and JWS is
an array of one or more base64 (NOT base64url) encoded X.509
certificates.  Add the Base64X509 type and FromJSON and ToJSON
instances for working with it, as well as a test based on the
example from JWS Appendinx B.
JWS: add x5u, x5t and x5c header parameters

Add the "x5u" (X.509 URL), "x5t" (X.509 Certificate SHA-1
Thumbprint) and "x5c" (X.509 Certificate Chain) header parameters to
JWS.  Also update the corresponding JWK Key parameters to use the
new types.