Refactor transaction to match new API

* Refactor transaction into a different subfolder
* Added a lot of tests for sighash and transaction serialization (from
  reddit's and Ryan X. Charles' `fullnode`)
* Drop "only" from sighash tests and consolidate logs
Split buildPKH arguments, add Copy constructor on publickey
Consistency with "id", "hash", and "_getHash"
Merge pull request #675 from eordano/feature/transaction

Refactor transaction class
add Script#removeCodeSeparators tests
Refactor Contributing
add sorting to Script#buildMutlisigOut()
Merge pull request #701 from eordano/contributing

Refactor Contributing
add sorting to Script#buildMutlisigOut()
Merge pull request #702 from maraoz/add/interpreter2

add sorting to Script#buildMutlisigOut()
Fix tests
Merge pull request #703 from yemel/fix/tests

Fix tests
Add transport/connection class
Add transport/peer class
Add transport/peermanager class
Progress on sending and receiving messages
Add messages serialization
Add inheritance to messages and expose them as a module
Refactor and documentation
Remove old files