Fix #15420: category not found denial of service

There are several scenarios where we may end up in a denial-of-service because one issue has a category that no longer exists.  Some are known and some aren't.  Some also involve a race condition between validation and writing to database.

Some of the known:
- Move Issue with default category not existing.
- Add Issue / Delete simultaneously (race condition - though we now have a check there).

This pull requests adopts the same model we use in handling unknown enumerations like status, severity, priority, etc.  It also removes related troubleshooting section and adds a config page check.
`must exist` (no 's')