Display Proper Author Information For Posts != $post->ID

When get_coauthors() is called with a post ID (`$post_id`) specified, `$post->ID`'s author is displayed if `$post_id` is created by a "real" user (non-coauthor), even if `$post_id != $post->ID`.

This corrects this functionality, and will display the current post's author if and only if `$post_id == $post->ID`.
Avoiding redefinition of core function by adding a filter for comment notification recipients
Adding function prefix / Getting post ID via comment ID / Removing capability check
Fix cached false condition

Since we're using (string) '0' to cache the false condition, a strict equality check won't work here.

1. When we create a coauthor, we check that the slug is not already taken. Since it's not, we cache '0'.
2. Next time we need to get that coauthor `false !== ( $retval = wp_cache_get( $cache_key, self::$cache_group ) )`. Since `false !== '0'`, that passes. Since '0' is not an object, we return false. The cache will never have a chance to get fixed.

We don't want to use the cache if it's any version of false (0, '0', false).

Ref: 6a9f4c2a22e79b77f62dd274d6f3624aacd7577a
Merge pull request #202 from fpozzer/master

Avoiding redefinition of core function wp_notify_moderator
Merge remote-tracking branch 'upstream/master'