Change password take 2

This patch is making my head hurt. I seemed to think I did not need to unravel() inside the changePassword function, but after now attempting to do so, I get JSON exceptions like: "JSON.stringify cannot serialize cyclic structures." 

@ecto can you check out this branch and see what I am doing wrong?

(I am just trying to run the integration tests, and have commented out all others for now)
Keep consistent with "passphrase" vs "password". Maybe we need to decide at a Crypton level which to call it? I would suggest "passphrase" as that might encourage longer proper passphrases as opposed to "password".