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.
Hmm good point.  Probably should only accept P2PKH addresses then.  So, replace the type switch statement above with:

```Go
_, ok := addr.(*btcutil.AddressPubKeyHash)
if !ok {
    // bad
}
```

and then the final return statement can remain as is.