Add basic ETag support for better conditional GETs

This adds basic support for remembering ETag headers on fetches and
setting If-None-Match headers on outgoing (feed) frequests, following
the code model of Last-Modified / If-Modified-Since (and cookies).
ETag support is superior to Last-Modified because ETags are generally
more reliable as change indicators.

ETag values, like Last-Modified values, are not persisted into the
on disk database; they are held purely in memory and so are lost
over restarts. Moral: try not to restart Liferea if you want to be
a good user of conditional GETs.

This is first cut code. I believe it has no memory handling errors
but I may be wrong. It works for me (tm).
src/itemset.c bugfix: do not constantly set 'updated' status

The old code would constantly mark items as updated if you had read
them due to an oversight (although you couldn't see this because nothing
shows the updated status). After this fix this doesn't happen.

(It's a long story but basically this chunk of a code is passed the old
item and the just-fetched item and was comparing their 'is it read'
flags. The just-fetched item is of course set to unread and so etc.
There is an argument that is supposed to control this behavior but it
was accidentally being ignored.)
Restore showing a marker for edited/updated items

Old versions of Liferea showed a visible status icon for feed items that
had been updated since you read them; newer versions of Liferea have
stopped doing so, although most of the code support for it is still
present. This changeset restores the feature. The status icon is taken
from the old Liferea version.

In the process this changes the order that items are shown in if you
click the flag/status column. The new order is unread, updated, and then
flagged (and then 'none of the above'); it used to be flagged and then
unread. Chris prefers this new order and it's his changeset, so.