implement verifymessage

Moving this intp btcd rather than btcwallet. I'll send a PR to remove from btcwallet once this has been merge. See discussion at: https://github.com/conformal/btcwallet/pull/124#issuecomment-52983230

Question: what is your procedure for testing? I noticed that there is no rpcserver_test.go file.
This is not an issue with this pull request, but I'm noting here for later reference.  The 1RecoverCompact1 function should be returning a 1*btcec.PublicKey1, not a 1*ecdsa.PublicKey1.  Along the same lines, the `SignCompact` function should be taking a `*btcec.PrivateKey` instead of an `*ecdsa.PrivateKey`.

Seeing this bit makes that apparent.