Update the subnet allocation quota mechanism

At the recent Neutron mid-cycle, we discussed using the absolute
number of addresses for expressing IP allocation quota.  After
speaking with SMEs in IPv6 and user experience it seemed that this
would be a difficult way of handling these quotas.

First, with IPv6 the numbers are just too large for normal integer
fields.  Python seems to handle it gracefully but there are also
considerations for databases too.  Even an unsigned BIGINT in mysql is
not large enough.  I will argue that this proposal is simpler from an
implementation perspective and shares all code between IP versions.

Second, it would require some complexity around the user experience
for IPv6.  This new proposal provides a *more* common experience to
the user since the numbers will be low enough to understand in both
cases.  The only thing that the user will need to grok is the minimum
address unit for each version.  This should be spelled out clearly in
documentation.

DocImpact

Change-Id: Iae70385f4743aa824c87195a91b3fa83596ae844
Merge "Update the subnet allocation quota mechanism"