Right now ApiVisualEditor::execute has to output a `"foo-title": {"missing": false}` object for every non-red link on the page. If we simply omit non-red links, VeInitMwLinkCache will assume that the response from the API was incomplete, and will queue up API requests to resolve any links that weren't explicitly described by the initial paction=parse API response.
This is frightfully inefficient. A more sensible approach would be as follows:
* On parser cache miss, omit the 'links' key entirely. The client-side LinkCache should take that to mean that all links will have to be looked up via the API.
* On parser cache hit, the 'links' key should map to an array of titles that are red links. If there aren't any, the array should be present but empty. Non-red-links should not be in the array at all.