Feature/bip21

BIP21 implementation, see the [reference here](https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki).

It offer a simple interface for parsing and creating bitcoin URIs. Examples:

```
 var uriString = 'bitcoin:1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj?message=Hey%20there&amount=1.212';

 var uri = new BIP21(uriString);
 uri.isValid() // true
 uri.address // bitcore.Address object
 uri.data.message // 'Hey there'
 uri.data.amount // 1.212

 uriString = new BIP21({
   address: '1DP69gMMvSuYhbnxsi4EJEFufUAbDrEQfj',
   message: 'Hey there',
   amount: 1.212
 }).getURI();
```

Notes:
* Support for `bitcoin:` and `bitcoin://` protocol
* Allows Payment protocol Non-backwards-compatible URIs like `bitcoin:?r=https://merchant.com/pay.php?h%3D2a8628fc2fbe`