Reset all cell data when this setting is changed to force a refresh.
Rename `hasClosedPreview(from:)` to `shouldShowPreview(for:)` for clarity and potentially adding more rules at a later date.
URLPreviewCacheData becomes URLPreviewData in the model with a class name of URLPreviewDataMO
ClosedURLData becomes URLPreviewUserData in the model with a class name of URLPreviewUserDataMO
URLPreviewManager becomes URLPreviewService.
addVerticalWhitespaceToString used instead of heightForCellData multiple times.
All newline characters removed.
Make the preview manager a singleton (passing in the MXSession to functions). Fix tests.
PreviewManager → URLPreviewManager
URLPreviewViewData → URLPreviewData
URLPreviewCache → URLPreviewStore
Implement close button and store the action in Core Data. Hide the preview image view when no image is received. Remove line breaks in description text.