Code Inspection: minor fixes & more unit tests

- Fix bug: if one linter returns errors and another returns errors:[], the no-errors linter is shown in the panel as an empty heading. (Bug doesn't happen if it returned null instead; but both are valid ways of indicating
zero errors).
- Improve docs on register() - more concise, more detail on how to indicate zero errors
- Add unit tests for the bug fixed above plus several more async linting cases that were fixed late in PR #6530
- Fix mislabeled existing unit test for reject()ing async linters
- Fix stray whitespace that snuck into merge c3411bb7