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)
As written, this would be more aptly named "allowed" than "required". If your intention is to require all requiredKeys in privateKeys, this loop is wrong.