fix(tags): seed itemTags Map entry on load failure too
Investigated "broke adding tags to notes with no tags" — could not
reproduce a crash; the addTag / removeTag / pubsub paths already use
`Map.get(id) || []` to tolerate missing entries. Made loadData's
`itemTags` set unconditional so failures don't leave the Map in a
state where `.has(id)` is false but an empty-tags item exists in
state.items — defensive, makes downstream reads consistent.
Adds desktop e2e regression guard that tagging a zero-tag note
succeeds (datastore round-trip).