Facter 2 output validation

This adds basic output validation for Facter resolutions by ensuring that returned data consists of simple data structures.

This is based on top of GH-574, so should not be merged before that PR is merged.