Undefined dict order caused random test failure.
Various performance improvements

- Do not use @property self.version, use self._module.version. This
  avoids a method call.
- Do not use @property self.netmask, use self._netmask_int. This avoids
  creating a temporary IPAddress object.
- Do not use @property self.hostmask, use self._hostmask_int. This
  avoids creating a temporary IPAddress object.
- IPNetwork.cidr() avoids temporary IPAddress object and string magic.
- cidr_exclude passes version=x when creating IPNetworks, so that
  __init__ does not have to guess.