new data formats - jwcrypto 0.5.x

This implements almost the entirety of new data formats support describe in https://github.com/djc/id-specs/blob/prod/browserid/json-formats.md.

One tweak left is the changed property for `pubkey`.  currently this work is published on npm under the `dev` tag.

Strategy here is this version of jwcrypto parses old or new formats, and always generates new formats.  It should be integrated into:
1. verifier
2. all environments that generate browserid artifacts.

It must be done in this order.