message: return base64 for sign, make verify work with base64 string

This PR is related to #217.

This returns a base64 signature for Message.sign, and allows verify to work with a base64 string (or a buffer). It's using the existing test suite and fixtures.

I'm more than a little confused about the standardization around base64 here, but it does seem to be the convention for everyone using it. Noteworthy is that we actually reduce test code because the fixture signatures are in base64.

We could also make a helper function (ala `signBase64`) instead, if we preferred to return a buffer here. But we should definitely provide an easy way for people to do this, since it seems to be common usage.
Can we add the `{}` and get rid of the variable re-declaration please?