The `transcode` table in TimedMediaHandler doesn't currently store the status in a straightforward way, which makes the table awkward to query in bulk at the scale of Wikimedia Commons.
Instead of implicitly storing the state of a transcode as the null/present state of various timestamp columns, add an `ENUM` column with suitable state strings and suitable indexes for pulling bulk info and most-recently-added N items to each state.
* add column: `transcode_status ENUM ('missing', 'queued', 'active', 'failed')`
* add column: `transcode_touched VARBINARY(14)`
* add index: `transcode_status_touched (transcode_status,transcode_touched)
* update code to set `transcode_state` and `transcode_touched` on each update [switchable or carefully deployed]
* update special:transcode_statistics to use the new fields [switchable or carefully deployed]
* maintenance script to fill out the fields on existing rows after deployment
* prep for deployment of the db update