Use signature algorithm from bitpay/bitcore

Go's built-in ECDSA signature methods don't produce the same R/S numbers as
bitcore's implementation; verification of the signatures from the JS bitauth
library fails, and additionally verifying known good signatures from Bitauth
fails in Golang.

This is the start of redeveloping the signature algorithms found in the Bitcore
library in Go. This will produce R/S numbers which match Bitauth given the same
inputs.