(#11328) Add virtualisation detection for OpenBSD

Extend the FreeBSD KVM detection as it's the same trick with "sysctl
hw.model" and use "sysctl hw.product" to detect VMware, Parallels,
VirtualBox and Xen HVM.
(#11328) Fix uptime detection on OpenBSD

Of the four or so uptime detection methods, the sysctl one is the
closest however OpenBSD lacks the -b option. Using -n instead the first
number in the output will be the epoch seconds, on OpenBSD this is all
you get, but with Darwin (and probably the other *BSD's) you get the
epoch seconds, microseconds and the pretty-printed output.

New test cases added and the old ones with the endian-specific packed
output are removed.
Updated CHANGELOG for 1.6.2
Try to get VirtualBox info without dmidecode

/sys/devices/virtual/dmi/id/product_name:VirtualBox
(#7038) Validate prtdiag output in manufacturer

prtdiag cannot be run inside zones, and calling
Facter::Util::Resolution.exec on it will return nil. The manufacturer
utility was calling split() on nil, which was raising an exception.
Added validation of prtdiag output, and simplified the regex to extract
values for facts. Added more coverage for the related facts as well.
Merge branch 'ticket/1.6.x/7038-safe_prtdiag_output_checking_in_zones' into 1.6.x

* ticket/1.6.x/7038-safe_prtdiag_output_checking_in_zones:
  (#7038) Validate prtdiag output in manufacturer
Merge branch '1.6rc' into 1.6.x
Merge branch '1.6.x' into 1.6rc
Updated CHANGELOG for 1.6.3rc1
(#10395) Fix manufacturer test moching for Windows

Commit b2a66a97eb518c5d6207353c18ce6056e9715995 brought in changes to
test for prtdiag returning nothing.

Because the fact returns nothing though, on windows the tests fall back
to use Windows own mechanism for detection therefore causing the test
assertion to fail. It should be nil, but instead its return a real
manufacturer value.

To stop it from falling back to the windows mechanism, I'm simply moching
the kernel fact to be 'SunOS' instead.
Merge pull request #91 from kbarber/ticket/10395-fix_manufacturer_test_on_windows

Ticket/10395 fix manufacturer test on windows
(#10490) Handle case where no macaddress can be found

If we do not find a macaddress when running ifconfig -a (case is
described in #10490 and is reproduceable if you deconfigure all
interfaces despite lo0) we get the error:

    Could not retrieve macaddress: private method split' called for
    nil:NilClass

Return nil as a macaddress if no macaddress can be found. The same
behaviour is already used for macaddresses on windows.
Merge pull request #96 from stschulte/ticket/1.6.x/10490

Ticket/1.6.x/10490
Updating CHANGELOG for 1.6.3 release

Signed-off-by: Matthaus Litteken <matthaus@puppetlabs.com>
Merge branch '1.6rc' into 1.6.x
(#10238) Adds support for retrieving information about block devices in Linux, with tests; updated to include sizes and be more flexible for future additions
Merge pull request #98 from jasongill/blockdevices-fact

Ticket #10238 - Add support for identifying block devices
(#10885) Malformed facter.bat when ruby dir contains backreferences

Previously, we were substituting occurrences of <ruby> and <command>
in the Windows batch wrapper scripts with the corresponding
paths. However,the gsub replacement string was not escaped, so if a
path contained something that looked like a backreference,
e.g. C:\ruby\187, the gsub would try to replace the backreference with
the corresponding capture group. Since there aren't any capture
groups, the backreference was stripped from resulting facter.bat,
resulting in an invalid path, C:\ruby87\bin\facter.

This commit eliminates the need for gsub, since paths can contain
other characters that have special meaning in a regexp, e.g. '.'.

It also writes the bat file in 'text' mode so that the resulting file
has '\r\n' line endings.
Merge remote-tracking branch 'josh/ticket/1.6.x/10885-facter-backreferences' into 1.6.x

* josh/ticket/1.6.x/10885-facter-backreferences:
  (#10885) Malformed facter.bat when ruby dir contains backreferences
(#10444) Add identification of system boards to Facter