Fix canonical redirection of `cat` as described in #15256 by rolling the `cat` query var into `tax_query`, instead of `category__in` / `category__not_in`. Top-level categories were only redirecting properly if they had no children.

All unit tests pass. Tests marked for #15256 are no longer skipped.

Fixes #15256.
Props dd32.



git-svn-id: https://develop.svn.wordpress.org/trunk@26090 602fd350-edb4-49c9-b593-d223f7449a82