(maint) Update facts to use Facter::Core::Execution

When Facter::Core::Execution was extracted, aliases were added from
Facter::Util::Resolution to Facter::Core::Execution for compatibility.
This commit updates all facts using execution methods to use the new
code directly instead of relying on an alias.
(FACT-322) Remove special casing of resolution command

Resolutions could accept either a command to execute or a block to run
to evaluate when resolving. However this behavior meant that special
behavior had to be inserted into the execution command in case a command
returned nil. This commit converts the #setcode(String) invocation to
create a block that will evaluate a command and normalize the output so
that Facter::Core::Execution doesn't have to be responsible for this.
(FACT-322) Remove execution empty string special casing

This removes the special casing for commands that return the empty
string. Callers that were checking the result of .exec with a boolean
check will need to call #empty? on the result.
(FACT-322) Remove fact special casing of empty string

When facts were evaluating resolutions, return values that were either
the empty string or nil would be ignored. This commit removes the
special casing on the empty string and fixes up some resolutions that
were relying on the behavior.
Merge pull request #637 from adrienthebo/feature/facter-2/fact-322-remove-special-casing-of-empty-string

Feature/facter 2/fact 322 remove special casing of empty string