Lilia's Webcrypto branch rebased and a few very tiny tweaks
Fix now-broken test cases and change lots of things over to promises