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
Site Icon: Make sure that we don't pass the path to the file name

See dfe7bf17b0f8186fa291e409e08e93237a90b5e7
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.
Merge commit 'b03bf25'
Update the site_icon_url to be able to delete it as well.
Update the /me/sites api endpoint to support jetpack sites blavatar site_icon_url

We should be syncing the site_icon_url option since jetpack 3.3

Merges r109785-wpcom.
API Endpoint: Added an the main_network_site option to the /me/sites endpoint
New in Jetpack 3.3 Beta, so that we can tell in calypso what the network url of the site is.
If the site is the main network site the url will be the same as the siteurl.
If the site is on a single instance the siteurl should be the same as main_network_site.
This will help us determine if the user of that site should be able to see update plugins UI in calypso plugins section.

Merges r109939-wpcom.