Update from old jwcrypto to latest browserid-crypto.

I was all prepared to deploy my epic find-and-replace skills in service of #828, but it turns out to be more complicated than that.

In particular, the latest browserid-crypto release seems to have changed some details of the way it handles data formats, defaulting to newer pubkey formats where it previously default to the old ones.  I *think* I've fixed all the tests to account for this, but it makes me nervous about whether there will be bad interactions with deployed client code.  We'll need to deploy and test a full sync cycle on both desktop and android.

Also, I've no idea why but I had to replace a `+10000` with a `-90` in the tests to get them passing.  I guess this is due to some change in skew-handling inside browserid-crypto.  We may need to fix some skew offsets in our own code to compensate.

In short, feel free to sanity-check this, but don't merge it yet...