(#19676) Add openwrt OS detection support
Merge branch 'pull-404' into 1.7.x
Merge branch '1.7.x'
(#19761) Added virtual and is_virtual fact on Windows

Without this patch, the virtual and is_virtual fact is not set
on Windows computers. This patch fixes the problem, giving an
initial coverage for some hypervisors.

The solution proposed is based on the manufacturer and model
properties from WMI object Win32_ComputerSystem. This first version
is able to detect the following systems: HyperV, VirtualBox, Vmware
and KVM.
Merge branch 'luisfdez-feature/virtual_fact_windows' into 1.7.x

* luisfdez-feature/virtual_fact_windows:
  (#19761) Added virtual and is_virtual fact on Windows

closes #409
Merge branch '1.7.x'

* 1.7.x:
  (#19761) Added virtual and is_virtual fact on Windows
(#17710) Refactor the IP module

This pull request aims to refactor the Facter::Util::IP module with kernel
specific classes adhering to a common interface. This pull request eliminates
case statements and crazy kernel conditionals within methods. Additionally, this
eliminates the giant REGEX_MAP constant at the top of the Facter::Util::IP
module and adds some documentation to methods that were previously left
undocumented.

The related ticket is here: http://projects.puppetlabs.com/issues/17710