Fixes #8538 - Fixed ISC DHCP states and duplicities

Our ISC DHCP parser was not respecting binding states "free" vs "active" and
it was reading free (released) leases as active. Also, with longer lease
times it was loading multiple leases as duplicities. Both was causing
conflicts in Foreman.
Fixes #8210 - Adding caching for smart-proxy puppet classes using Stefan Julin's implementation of cache