fix jsBigInteger

new formats include the numbers being base64 encoded, likely to save
bytes. They were being created with .toBase64URL(), which also
url-encodes them. Seems sensible.

On deserializing, the numbers are run through fromBase64(). If native
bigint exists, then fromBase64 is replaced to use Buffer(n, 'base64'),
which correctly url decodes it as well. If it doesn't exist, like on
windows or in the browser, then window.atob is used. It doesn't know
about urlencoded values.

This patch urldecodes the string before passing it to window.atob.
Merge pull request #85 from seanmonstar/base64url_decode

Base64url decode