WIP: When fetching a feed, if its current encoding is not valid assume it's ISO-8859-1 and encode it to UTF-8.
Before validating entries, check if the current encoding is valid for each text attribute. Convert from ISO-8859-1 to UTF-8 if necessary.

The ISO-8859-1 encoding is the default for HTTP-1.1 if no encoding is specified. It's not so much used these days (utf-8 is clearly superior in all cases) but still some feeds are served with that encoding.

This commit fixes the following problem: ruby code generally assumes that strings are encoded in utf-8. If a feed is encoded in iso-8859-1 but it doesn't send an encoding header, according to the HTTP spec it should be assumed that the encoding is the default iso-8859-1. However ruby code seems to assume that the fetched feed is encoded with utf-8 by default which can later cause problems because of characters which are not valid in utf-8.

The fix is: when saving new entries, just before validation, check all text fields (title, content, summary...) to check that their value is valid for their current encoding. If a text is invalid for its current encoding, assume it's an ISO-8859-1 string and convert it to UTF-8; any invalid characters after that conversion are replaced with a "?".

This should be enough for ISO-8859-1-encoded feeds. In the future it may be necessary to extend similar fixes to feeds with other encodings. We'll see.