Add support for /32 and /31 length subnet masks

- Add checks that the numberOfAddresses is greater than 2, otherwise
treat the broadcast and network addresses as first and last addresses.
- numHosts returns correct size to due to the first and last address
change for /31 and /32 networks.
- Add tests.
Make code fit 80 column limit.
Convert stray tabs to spaces
Merge remote-tracking branch 'origin/31_32_bit_CIDR'