refactor address - use "set" function

...intend for this to become standard throughout the lib
add address validation convenience function
add set function to Base58
Base58Check.prototype.set
make bip32 mostly compatible with the rest of the lib

the constructor shouldn't do much. just set some varibles. in this case, i have
yet to write the code that sets the varibles. but better this than
autogenerating a new random BIP32. for that, call fromRandom()
BufferReader.prototype.set
BufferWriter.prototype.set
ECDSA.prototype.set
Key.prototype.set
Signature.prototype.set
Message.prototype.set