publish: report could not find target urls for reply/repost/like/rsvp 

Adds sanity checks for publishing with the new rel-syndication discovery logic. If a post looks like a reply/repost/like/rsvp but does not have a base URL for the target silo (or an original post that explicitly syndicates to that silo), provide a helpful error message.

So that we don't get the user's hopes up with a message like "This looks like a repost but there isn't an repost-of link to the Facebook post" (Facebook doesn't accept reposts/shares at all, so even if they add the proper repost-of link, it will still fail), I also added a new method to bridgy's Source class `check_can_publish` that just does a quick pre-check of whether a particular silo can publish a particular post type. Right now Facebook cannot publish repost, and Twitter cannot publish RSVPs.

This should be the last leg of #223!
minor: source doesn't vary by type, so i'd include it here directly. (that might cut down the non-html template dicts enough that they fit on one line, which would be nice to conserve vertical space.)