Public keys can have X coordinate value shorter than 32 byte. In this case `encodePoint()` should return 32 byte value with leading zeros. This commit also adds unit test for public key with 31 byte X coordinate value.
- Before `func Verify*(pub *ecdsa.PublicKey, sig, msg []byte) error` - After `func Verify*(pub *ecdsa.PublicKey, msg, sig []byte) error` - Update tests and replace `hash` with `sign` for signatures Fix issue #5