Feature/facter 2/fact 238 extract resolution mixins

This pull request extracts shared behavior for evaluating resolutions into a `Resolvable` mixin and behavior for determining how suitable a resolution is into a `Suitable` mixin.