Support CIDR subnet notation

Similar to the existing support for

    ip.mask('192.168.1.134', '255.255.255.0') // 192.168.1.0

How about?

    ip.cidr('192.168.1.134', 26) // 192.168.1.128

I think it would also be nice to return an object that represents a subnet:

    ip.subnet('192.168.1.134', '255.255.255.192')
    // { networkAddress: '192.168.1.128',
    //   firstAddress: '192.168.1.129',
    //   lastAddress: '192.168.1.190',
    //   broadcastAddress: '192.168.1.191',
    //   subnetMask: '255.255.255.192',
    //   subnetMaskLength: 26,
    //   numHosts: 62,
    //   length: 64 }
    
    ip.cidrSubnet('192.168.1.134/26')
    // Same as previous.

What do you think?