Limit allocation_pools per subnet

Creates a quota for allocation pools per subnet.

RM#9974
Also fixes RM#9874
I'd still like to see
```python
class AllocationPools:
...
    def __len__(self):
       return len(self._alloc_pools)
...
```
Accessing private members is bad OOP.