ECPubKey: adds cohesive test vectors
ECKey: adds cohesive test vectors
ECKey: remove *Hex/*Buffer operations

These operations are not complete in their serialization of the
underlying private key; as they miss compression information that is
pertinent to the matching public key.

toWIF/fromWIF should always be preferred.

If serialization of the raw private key is necessary, it is simple
enough to simply do: `priv.D.toBuffer()`.
So this is not a regression in convenience or functionality, just a
stricter subset of overall functionality.
ECKey: function reorder
ec: extract THREE constant
ec: use signum() instead of equals(ZERO)
ecdsa: use shamirs trick properly
ecdsa: remove unnecessary function
ecdsa: consistent parameter ordering

The bias towards moving e out of the
funciontoinadfojdfpsoidjfadoifjdspiofjdas jdifjasdifpasdfsadufhasdif
THIS NEEDS TO BE EXPLAINED AND STUFF
ecdsa: prefer to use [r, s] values directly
asn1/ecdsa: add prelimary asn1 tests for regression testing
ecdsa: improve BIP62 'low s value' inline comment
ecdsa: P_OVER_FOUR is a curve specific constant
ecdsa: extract BigInteger constants
ecdsa: use square() instead of x*x
ecdsa: clarify comment intention
ecdsa: reduce test vector size

Although reducing a test vector is seemingly a bad thing, we are not
gaining much by having these extra checks, especially since it is
evident that the tests show that there is no repeat k value for:

* Same message, different privateKey
* Different message, same privateKey

The k-values are also matching what is expected, as are the signatures.
sec: use a hashtable for lookup
sec: use BigInteger.fromHex directly
sec: fix formatting