Idiomatic address use

Various community members expressed (https://github.com/bitpay/bitcore/issues/104, https://github.com/bitpay/bitcore/issues/84) the need to have a simpler way of validating Address objects in bitcore. The current validate() method throwed exceptions when encountering an invalid address, which is not the easiest way to access the functionality and adds extra lines of code.

This adds an isValid method and tests for it. The default way of validating addresses should be via this method (examples updated).