(FACT-327) Move Process.waitall to Execution.exec

Commit d24504e8 added functionality for waiting on child processes if we
aborted command execution early, but this only really applies to command
execution. This commit relocates the waitall functionality to
Execution.exec so it's clearer what we're waiting on and why.
(FACT-327) Extract command execution base class
(FACT-327) Extract windows/posix execution classes
Merge pull request #634 from adrienthebo/refactor/facter-2/fact-327-pluggable-command-execution

Refactor/facter 2/fact 327 pluggable command execution
(FACT-346) Remove deprecated selinux_mode fact

See also https://projects.puppetlabs.com/issues/6677
Merge pull request #645 from adrienthebo/deprecation/facter-2/fact-346-remove-selinux-mode-fact

(FACT-346) Remove deprecated selinux_mode fact
(FACT-272) Format facter --help to work with ronn

This commit updates the output of facter --help to create markdown that
can be converted to a man page via ronn.
(FACT-272) Update manpage based on facter --help
Revert "Merge branch 'feature/facter-2/patition_uuid_fact' into facter-2"

This reverts commit 33a4f18aa473b450f887e4eb4c8639c01403ea76, reversing
changes made to 8102a72a90c43cd16e62c946e1b6646a42c08cd2.
Revert "(fact-234) Add newly defined blockdevice dynamic facts to the schema"

This reverts commit 0b1d424ae67a79d0072f4d2dad409a2ad79ddc5a.
Merge pull request #646 from adrienthebo/doc/facter-2/fact-272-update-manpage

Doc/facter 2/fact 272 update manpage
Merge branch 'revert/facter-2/blockdevices' into facter-2
Merge remote-tracking branch 'upstream/facter-2'

Conflicts:
	lib/facter/core/execution.rb
Merge branch 'facter-2'

Conflicts:
	lib/facter/blockdevices.rb
	spec/unit/blockdevices_spec.rb
Revert "Merge branch 'facter-2'"

This reverts commit c3ae5259fb57c853428fe83b5158f3a00dd2db51, reversing
changes made to e8ab81eb1bbbff1e8dc8e64ba3be9c89b57d7036.
(maint) Properly merge up c3ae525

The merge commit in c3ae525 was completely broken, this commit actually
merges the revert commit.
Merge branch 'revert/master/partition-uuid-revert-merge'