(#22107) Force ASCII-8BIT encoding on raw data in property lists

Ruby-1.9 and up default to UTF-8 encoding for strings, but CFData is
used to store bytestrings in plists as read from file-like objects.  So,
disregard the encoding returned from `obj.read`, treating the string as
a bytestring.
Merge branch 'pull-513' into stable

This closes GH-513
Merge branch 'stable' into facter-2
(FACT-65) Allow resolutions to be created and looked up by name
(FACT-65) Collections should be able to directly create facts

The existing `Collection#add` method would create a new fact and
resolution at the same time. This means that facts themselves could not
be created and manipulated. This commit adds `#define_fact` so that new
facts can be created by themselves.
(maint) set resolution properties from an options hash
(maint) Facts should be able to ignore unhandled options
(maint) decouple option settings on facts and resolutions
(maint) Reuse fact creation logic in collection
(FACT-65) Allow resolutions to specify their name as an option