publish: discover rel=syndication copies of inReplyTo & object urls

- when publishing a reply/repost/like, fetch the original post (if it's
  not on the webmention blacklist) and look for rel=syndication
  and u-syndication copies.
- expand the activitystreams object with the syndication urls and let
  the as.Source classes do the rest
- added unit tests for a variety of cases, with a mix of reply, share, like, rsvp
  1. ✓ simple u-syndication(s)
  2. ✓ simple rel-syndication(s)
  3. ✓ p-syndication h-cite
  4. ✓ primary h-entry is inside an h-feed
  5. ✓ failure to fetch inReplyTo url
  6. ✓ inReplyTo url has no microformats
  7. ✓ inReplyTo silo should not fetch anything

ref issue #223

@snarfed is it OK if we handle the improved error reporting (i.e., don't POSSE a reply as a comment if no reply post is found) in a separate PR and/or issue?
Good point. mf2py is not *supposed* to raise any exceptions, but we have seen them with html5lib and badly mangled html. 

In fetch_mf2, it makes sense to me to let the exceptions bubble up and wreak havoc, but here it probably is a good idea to move the Parser call inside the previous try/catch block.