Force character encoding when validating govspeak

In prior versions of Kramdown, UTF-8 strings were always returned
regardless of input. However, in the new version, the character encoding
of the input is maintained.

Nokogiri encodes entities differently in order to return a string of the
same encoding as the input data.

For example:

    string = "&ndash;"

    string.force_encoding("UTF-8")
    Nokogiri::HTML.parse(string) => "–"

    string.force_encoding("US-ASCII")
    Nokogiri::HTML.parse(string) => "&#8211;"

The Sanitizer, on the other hand, doesn't always return the same
encoding of string as goes in.

This meant that instead of comparing like for like, after the kramdown
upgrade, the outputs from Nokogiri differed. Hence, failing validations.

By forcing the encoding of the input string to `UTF-8`, we avoid issues
with differing character encodings.
Merge pull request #34 from alphagov/fix-entity-encoding-issues

Force character encoding when validating govspeak