It's exactly the same use case as setting the version. You probably wouldn't use it to set the network after, say, creating an address from an address string. But it would be a convenient way to set the network after creating an address from a hash.

For instance, rather than this:

```
var addr = new bitcore.Address(network.addressVersion, hash);
```
...which is confusing and has to be looked up every time, to this:

```
var addr = new bitcore.Address(hash);
addr.network('testnet');
```
This would require changing the constructor to detect that a buffer was being input as the first argument.

Another possible interface:

```
var addr = new bitcore.Address('testnet', hash);
```
Then self.network('testnet') would be called from within the constructor.

I'm not committed to doing this now, maybe this should be in a different PR. But it just occurred to me because the functionality of network() mirrors that of version(), but is more user-friendly.