feat(data): add source metadata fields to models
Add SourceType, SourceNetwork, SourceChannel, SourceUserID,
and SourceUserName fields to IRCLink, Image, Quote, and
TimelineItem structs. Add SourceFilter type with IsEmpty
method. This enables multi-source support for tracking where
content originates (IRC, Discord, Slack, etc.).