Transaction: remove TxIn/TxOut exports
Transaction: restrict TxIn input parameters

TransactionIn is only used by Transaction.prototype.addInput and the
Transaction constructor.
It is therefore safe to restrict these input parameters.
Transaction: use TxIn/TxOut consistently
Transaction: extract DEFAULT_SEQUENCE constant
Transaction: rename hashTransactionForSignature to hashForSignature
Transaction: rename (de)serialize to [to/from]Buffer
Address: consistent json formatting
Address/Script: consistent function ordering
Script: use PubKey objects not prebuilt Buffers
syncscript: general cleanup
ECPubKey: improve tests and extract test data to fixtures

The use of fixtures allows for more behavioural driven tests and simpler
addition of more test cases in future.

However, as ECPubKey is just a wrapper around other strenuously tested
modules, the test data is currently limited to testing a subset of the
total wrapper.

This should probably be done better by using mocked out modules instead.
ECKey: remove *Buffer/*Hex functions

An ECKey is a composition of a private key (D), a public key (Q) and its
compression flag.

These functions gave the impression of serialization of this
composition, when really they only serialized `D`.
They have therefore been removed in favour of always using a sane
serialization format (WIF) that matches the needed behaviour.

If a user needs the previous functionality, simply use `privKey.D.*`
instead of `privKey.*`, as BigInteger supports `*Buffer/*Hex` functions
as expected.