(maint) centralize system fact stubbing in virtual specs

The specs for the virtual fact on various platforms were duplicating
method stubs for the same fact. This commit removes the stub duplication
and puts the stubs into `before` blocks.
Merge branch 'maint-centralize_virtual_fact_stubs' into 1.6.x
Update lib/facter/version.rb for 1.6.18
Merge branch 'release/1.6.18' into 1.6.x

* release/1.6.18:
  Update lib/facter/version.rb for 1.6.18
(#8210) Add virt-what as a dependency

The pull request at puppetlabs/facter#340 introduced detecting the
virtualization type with virt-what, which is much more reliable than
facter's own techniques. This pull requests adds a dependency on
virt-what in the debian packaging since virt-what is included in
Debian at least since squeeze and in Ubuntu since lucid.