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 related to a `pubKeyHash` or `scriptHash`.
For now, it is a basic iterative search through the constants to determine what kind of Address it is, to then associate it with a script template.