Bring tests from wpcom and refactor for Jetpack.

Had to pull out the hashtags test because they're strictly disabled
in this code. Also fixed audio and wpvideo ids that weren't being
included in extract.
Add hulu extraction again. Thanks @gibrown!
Expose connected user data in wp.getOptions

To help the mobile apps help the user figure out which wp.com account
they're connected to, include user ID, username, and email in
wp.getOptions.

Also includes number of sites so the app can decide if it should suggest
Jetpack Manage.
Respect options parameter

wp.getOptions supports a parameter to specify the list of options to
return.

Respect that parameter by adding our options to blog_options instead of
filtering the result of wp_getOptions.
Sharing: add new filter for option to turn off sharing counts

The existing `sharing_js` filter disables all the javascript,
thus breaking the email sharing button
Sharing: remove extra underscore in variable name
Site Icon: Make sure that we don't pass the path to the file name, Needs testing on windows server
API: Plugins Update: Make sure the plugin doesn't get deactivated.
Site Icon: Make sure that we don't pass the path to the file name

See dfe7bf17b0f8186fa291e409e08e93237a90b5e7
Plugin Modify Endpoint: clear cache before updating

We were clearing the plugin cache within the foreach loop, which was optimal
for updating multiple plugins at once. But we've decided on calypso that it
is better to update one plugin per api call - it gives us better error reporting
and progress reporting. Thus we should clear the plugin cache before
starting the update process.
Merge pull request #1379 from Automattic/fix/bulk-plugin-updates

Plugin Modify Endpoint: clear cache before updating
Site Icon: Update to also generate the metadata properly again

The previous fix broke the wp_generate_attachment_metadata step since
it passed in the wrong file path.
Jetpack: Check method_exists before calling a function in Jetpack.

Merges r109489-wpcom.
Jetpack: Update the compat CSS for Twenty Fifteen so that Jetpack elements look good on the theme.

Merges r109665-wpcom.
Jetpack: Update Twenty Fifteen compat files.

Merges r109816-wpcom.
REST API: Posts v1.1: Move comment- and ping-related properties to nested "discussion" object property

This is a backwards-incompatible change. `comments_open` and `comment_status` are not synonymous, and can be different if the user chooses to have discussion remain open for a specified number of days (at which point, `comment_status` is `open` but `comments_open` is `false`).

See: https://github.com/Automattic/beep-beep-boop/issues/156

Merges r109553-wpcom.
REST API: posts-list include sticky posts by default in v1.1

See more discussion here. https://[private link]

Merges r109563-wpcom.
REST API: updates to the post creation and media v1.1 endpoints

* consolidate code functionality between the post creation and media v1.1 endpoints, so that they use the same function for uploading/creating media
* brings the latest media creation functionality to the post creation endpoint
* allows setting of media attributes via `media_attrs` in the post endpoints, similar to `attrs` in the media endpoints
* updates documentation for these endpoints
* adds test coverage for the latest post creation v1.1 endpoint and updates the media tests, also refactors the tests so they are more efficient and create less extra posts/media on the test site

see https://[private link]

Merges r109659-wpcom.
REST: Add page handles to /sites/:site/posts

Also update before / after parameters to be exclusive and add new
modified_before and modified_after parameters.

See https://[private link]

Merges r109723-wpcom.
REST API: Allows multiple post_status filters in /sites/$site/posts

This is necessary to allow us to query for pending and draft status together and private and publish statuses together, as described in this issue: https://github.com/Automattic/calypso-pre-oss/issues/2019

Merges r109922-wpcom.