The CheckUser API needs to be updated to read the user agent string from the `cu_useragent` table using the `agent_id` columns in each result table to find the associated rows.
This could be done by joining the `cu_useragent` table to each query to the result tables (`cu_changes`, `cu_log_event`, and `cu_private_event`) or performing a separate query to lookup the user agent strings after the results have been selected.
Doing the latter may be more a better solution, as it should avoid making the query yet more complicated by avoiding the need to add a join. However, the former would likely involve less code changes (as the `cuua_text` column could be aliased as `cuc_agent`, `cule_agent`, or `cupe_agent`).
======Acceptance criteria
* [] Subclasses of `ApiQueryCheckUserAbstractResponse` will read the user agent string from the `cu_useragent` table if the schema migration config is set to `SCHEMA_COMPAT_READ_NEW`.
* [] If the schema migration is set to `SCHEMA_COMPAT_READ_OLD`, the code should continue to get the user agent string from the `agent` column (for example, `cuc_agent`)