migration: flake8.
migration: try to handle gracefully the fact that the production server is massively creating "missing" reads from already migrated articles.

Every read attribute is compared, and only true values are updated.
The new implementation will still miss dates for attributes that have been set none→on→off, but that's better than nothing.
simplify logging strings.
Simplify logging strings and avoid strainer to flood us.
simplify logging strings.
replace articles duplicates in tweet entities also.
simplify logging strings.
simplify a view.
simplify logging strings.
URL absolutization: fix the long standing rel-DB borked-transaction-you-annot-do-anything-more bug. (kuddos to @lulufred)
Catch duplicates on the fly on article creation, and return the master instead.
Make original data handle things cleaner.
Disable logging for breadability too.
Avoid a DB fetch if not not useful.
Protect some queries with atomic() to avoid DB problems.
TWITTER / URLs: avoid using client headers with request during absolutization, it fails on twitter (t.co) URLs. Twitter doesn't redirects us to final URL.
Correctly use atomic get_or_create() when creating feeds. This reduces the code.
Move the read creation at a lower level.
Avoid creating articles / tweets from twitter images URLs.
Move the tweet read creation at a lower level, like for articles.