Ensure code will mark currently fully allocated subnets as full

    - unit test that logic is setting next_auto_assign_ip to -1 when subnet is fully allocated
    - functional tests validating the same
    - fix subnet_find_allocation_count
        - was just ordering by used ip count, instead of what is remaining.
        - example, a /31 and /32 could both have 0 ips used, but their remaining is 2 and 4, so the /31 should be first returned
    - use sqlalchemy desc (descending method) instead of string