Move ipaddress/ipaddress6 fact handling into Facter::Util::IP

I've previously submitted https://github.com/puppetlabs/facter/pull/267 (#1346) which fixes a bunch of issues such as #15798.  In the previous commit I extensively refactored the Facter::Util::IP module and had trouble getting it merged in so this time I have tackled a smaller portion in this first round of refactoring.

This PR just tackles moving the ipaddress/ipaddress6 functionality into the IP module rather than having the logic in the fact.  Hopefully this'll be a smaller and easier set of changes to test as it's only IP stuff that needs looking at.