title: summarizing adjacent subnets with python netaddr cidr_merge
body: <p>python 3.3.4
  netaddr 7.12
  Mac OSX 10.8.5</p>
  
  <p>I have a list of IPNetworks that will not merge with netaddr.cidr_merge() even though some are adjacent.  Am I doing something wrong?</p>
  
  <pre><code>import netaddr
  from netaddr import IPNetwork
  iplist =[
      IPNetwork('10.105.205.8/29'), 
      IPNetwork('10.105.205.16/28'), 
      IPNetwork('10.105.205.32/27'), 
      IPNetwork('10.105.205.64/26'), 
      IPNetwork('10.105.205.128/26'),
      IPNetwork('10.105.205.192/28'),
      IPNetwork('10.105.205.208/29'),
      IPNetwork('10.105.206.48/28'),
      IPNetwork('10.105.206.80/28')
      ]
  
  &gt;&gt;&gt; summary = netaddr.cidr_merge(iplist)
  &gt;&gt;&gt; summary == iplist
      True
  </code></pre>
  
  <p><a href="https://pythonhosted.org/netaddr/api.html?highlight=cidr_merge#netaddr.cidr_merge" rel="nofollow">from the documentation</a>:</p>
  
  <p>netaddr.cidr_merge(ip_addrs)</p>
  
  <p>A function that accepts an iterable sequence of IP addresses and subnets merging them into the smallest possible list of CIDRs. It merges adjacent subnets where possible, those contained within others and also removes any duplicates.</p>
  
  <p>Parameters: ip_addrs – an iterable sequence of IP addresses and subnets.
  Returns:    a summarized list of IPNetwork objects.</p>