Merge pull request #177 from dcousens/opclean

OPcodes cleanup
opcodes: remove unused reverseMap
opcodes: rename to opcodes
syncscript: general cleanup
Address/Script: consistent function ordering
Script: use PubKey objects not prebuilt Buffers
Transaction: rename hashTransactionForSignature to hashForSignature
Transaction: rename (de)serialize to [to/from]Buffer
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
ecdsa: improve BIP62 'low s value' inline comment
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.
bigi: upgrade to 1.1.0
asn1: adds asn1 implementation
asn1/ecdsa: switch to asn1.js

Removes [now] unusued ECDSA functions parseSig, parseSigCompact and
serializeSig.
message: isolate tests further, remove redundant tests

The signing process does not care about a pubKeyHash, and nor does it
care about the network version on a base58 address string.
What signing does do independently is whether the compact signature has
a compression flag or not.

Variables names were also cleaned up a bit.