Maint: Don't load dynamic facts prior to them being added

Previously, running `rspec spec/unit/util/ip_spec.rb` would generate
`No facts loaded from` messages, because the `when_interfaces_facts_...`
method would try to load the interface-specific facts (eth0_mtu) before
the parent `interfaces` fact had created them.

This commit changes the method to evaluate the parent `interfaces` fact
instead, which results in the dynamic facts being evaluated. It also
refactors the test to not stub the private `parse!` method of the class
we are trying to test. Instead we stub the IP subclass delegate instead.