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.
The goal is to keep the body of functions to 80 cols.  An extra character or two is generally not a problem, especially if it's just a closing parenthesis or something similar.  We tend to be pretty strict on the 80 cols for comments.  On the other hand, we tend to be pretty lax on function signatures exceeding it.  However, regardless of anything else, if `go fmt` changes something, whatever it changed it to is the way it must be.