api/fever: implement read status tracking
* add is_read column to items table with migration
* handle mark=item/feed + as=read/unread POST params
* filter unread_item_ids by actual read status
* return real is_read value from get_items queries
Previously the API accepted mark operations as no-ops and
returned all items as unread. Now read state persists and
syncs correctly with Fever-compatible clients like ReadKit.