Avoid a notice in `get_the_category_by_ID()` when `is_wp_error( $term )` is false but `$term->name` is not set. Clarify the `@return` value of `get_category()` and `get_tag()` which return the same possible types as `get_term()`, which they wrap.

Props ericmann, SergeyBiryukov.
Fixes #25429.


Built from https://develop.svn.wordpress.org/trunk@27521


git-svn-id: http://core.svn.wordpress.org/trunk@27364 1a063a9b-81f0-0310-95a4-ce76da25c4cd