(PUP-1473) Fix issue with UTF-8 in user comments

GH-1943 included a change to munge the comment property on the user
type so that it gets encoded as ASCII-8BIT. This was to allow the comment
property to handle UTF-8 values as existing values are read as ASCII-8BIT.

Originally the change called `force_encoding` to force the encoding to
ASCII-8BIT. This method does not actually attempt to encode the string, it
only changes the string's associated encoding. It was suggested during code
review that a call to `encode` should be used instead. However, calling
`encode` will fail if the string has UTF-8 characters that cannot be
represented in ASCII-8BIT.

As we desire the comment property to be treated as a squence of bytes in
this case, we should be calling `force_encoding` instead of `encode`.
(maint) Fix spec for UTF-8 strings in user comment properties

The first problem with this spec is that it wasn't actually
being run due to an always false "if" clause.  It was checking
for `String` responding to `encode`, but `encode` is an instance
method.  `method_defined?` should have been used instead.

The second problem with this spec is that the test value did not
contain any non-ASCII characters.  If it had, it would have caught
the bug described in PUP-1473.  Added a non-ASCII character to test
for regressions.
Merge branch 'pup/1473' into stable

* pup/1473:
  (maint) Fix spec for UTF-8 strings in user comment properties
  (PUP-1473) Fix issue with UTF-8 in user comments

This closes GH-2360.