feat: implement heapq for tracking cache expire times by bdraco · Pull Request #1465 · python-zeroconf/python-zeroconf

Implements a heapq to track cache expire to avoid enumerating the whole cache every 10s

fixes #1464

technically breaking change: make set_created_ttl protected as they should never be called externally. It was not expected that they ever would have been though and the behavior was likely not correct if they were being called externally.

technically breaking change: reset_ttl has been removed as we should not be mutating existing records as it can cause unexpected behaviors. They should be replaced in the cache instead as it has action at a distance side effects for downstream.