(refactor) Remove double negation from resolution confine check
(maint) clean up Facter::Application#run

Move requires to top level, simplify how facts are sorted
(FACT-159) Extract facter command line formatting

This extracts facter's command line formatting to a separate file and
calls out plaintext formatting as a specific case. This allows us a
clean way of removing the plaintext behavior as we move towards
structured facts.
(maint) Workaround travis/rubygems failures with ruby 1.8.7
Merge branch 'stable' into facter-2
Merge pull request #577 from adrienthebo/facter-2-output-formatting

Facter 2 output formatting
Extract Facter execution methods to mixin

The command execution methods in Facter::Util::Resolution were
cluttering up the class and breaking the single responsbility principle.
Leaving them around increases the complexity of refactoring the
Resolution class.

This commit extracts methods related to command execution to a mixin and
extends the Resolution class with the mixin to maintain compatibility.
In the long term we should deprecate the compatibility methods.