Cleanup of network in Transaction/Script

Depends on #172.

This pull request addresses some of the overlap of Script, Address and Transaction in relation to how they deal with the base58 constants specific to networks.

Because the pull request is a bit larger than usual, I have put explanations of each commit in the extended commit messages.  

There is still a lot of improvement to be made, especially in regards to the solution for determining what network an Address is related to, and consequently whether it is an address for a `pubKeyHash` or `scriptHash`.
For now, this is implemented as an iterative search through the network constants to determine the type of Address and its associated script template.