change Source.base_object() to return an ActivityStreams object

useful for including author too, for #265
facebook: after creating a comment, try to include the post author id in the returned URL

for snarfed/bridgy#265

R=@kylewm
facebook publish: include "Originally published at:" with original post link

fixes snarfed/bridgy#267
twitter: when creating a tweet with a picture fails, pass through the exception

for snarfed/bridgy#279
when publishing a tweet w/picture, account for pic.twitter.com link when ellipsizing text

fixes snarfed/bridgy#279
batch G+ API calls for comments, reshares, and +1s. for #44
twitter: retry read-only API calls up to three times

fixes snarfed/bridgy#280
twitter create: support pictures in @-replies

fixes #22
expect_requests_*(): only set timeout if it's not already set
twitter: allow publishing with no content if there's a picture

fixes snarfed/bridgy#284
facebook create (publish): prefer content to name for articles as well as notes

thanks for reporting, @tantek!
fully qualify python-instagram imports. fixes snarfed/bridgy#285 and snarfed/bridgy#286.

when i moved interpret_http_exception() to oauth-dropins in snarfed/bridgy@89132d2c4ff96f6367a1a0df213d987953b0a7aa and snarfed/oauth-dropins@321c3f817b838030ad6dda1211e7a23797a8c5cf, i fully qualified all of the python-instagram imports in bridgy and oauth-dropins, but not in this repo, so classes like InstagramAPIError ended up duplicated since they were imported twice under different paths, so the classes didn't match in the except clauses in interpret_http_exception(). ugh.
user_to_actor(): populate the 'urls' field when there are multiple urls

for snarfed/bridgy#282
preview_create(): split out verb description (e.g. '@reply to this tweet...') from post content

adds a new description field to CreationResult.
stop auto-generating title and displayName from content

for snarfed/bridgy#287. cc @voxpelli
merge p-name with e-content when it's blank

fixes snarfed/bridgy#287. cc @voxpelli
twitter create: returned type for @-reply with photo should be 'comment', not 'post'

fixes snarfed/bridgy#288
add html_content option to microformats2.json_to_object(), change default to True
add since_response kwarg to get_activities_response()

it's an alternative to the cache kwarg, for returning only new activities and responses since the call that returned that response.

for snarfed/bridgy#22
Revert "add since_response kwarg to get_activities_response()"

This reverts commit 497445dba2bfba5d1b6f33371dc825d83927f9bb.

details in https://github.com/snarfed/bridgy/issues/22#issuecomment-56326244