Alternative implementation of DhcpAddressPool that uses a TreeSet to keep track of borrowed addresses. In worst case scenarios, this will use more memory than the BitSet approach, but most real world cases will probably use less. Not thread-safe.