Merge pull request #1021 from Automattic/id-crisis

Resolve identity crisis when using FORCE_SSL_ADMIN
Tidy up some logic around button displays

Don’t display a button for a user to connect their user account if the
blog itself isn’t connected yet.

Props @koke for finding.
Typo fixes, Making instance a class property
Added some more Jetpack_PostImages unit tests.
Vimeo: allow for all non-empty parameters to trigger autoplay
Change how we're flagging new modules

Old way would catch modules introduced in `1.1` during version `3.1.1`
— this way shouldn’t, while still accounting for `3.1` being new in
`3.1.1` and `3.1-dev` and `3.1-beta1`

Props @beaulebens for the bug report.
Merge pull request #1019 from jeherve/add/vimeo-autoplay

Vimeo Shortcode: add the autoplay parameter
Partial revert of a path change.

@see
https://github.com/Automattic/jetpack/commit/bdfc92311418#diff-287b3ba61
d50d9095f9f4dea66d2061fR22

This is the wpcom path, and only happens if we’re not in Jetpack which
overrides correctly to _inc.
REST API: 400s should return regardless of origin…

…so that oauth errors can be caught by developers.

Props @jkudish
Merges r102728-wpcom
REST API: Add 'plugin' type to cast_and_filter_item.

Used to cast and filter the result of the list plugins endpoint.
+ Add 'safehtml' type applies wp_kses to the response value. Used to sanitize the plugin description.

Merges r101961-wpcom.
REST API: Add 'jetpackmodule' type.

Used to safe cast the module description.

Merges r102179-wpcom.
REST API: Fix empty categories when slug doesn't match name

Since we've already found the category by ID there's no need to search it by slug again, specially when the slug doesn't match what's in the database.

See: http://[private link]

Merges r102318-wpcom.
JSON API: Make sure datetimes are always well formed.

WordPress stores `date` and `date_gmt` fields for posts (same for `modified` and `modified_gmt`).

The API's date formatting code uses both of these values to generate a datetimestring including the local time and a timezone offset for that post.

For drafts, though, date_gmt is set to "0000-00-00 00:00:00", which is messing up the API's date formatting code.

Dates were being output like: "2014-02-14T09:21:51+17656209:21".

When the gmt field is missing like that, use the blog's timezone/offset option to calculate the correct offsite time.

http://[private link]

Merges r102805-wpcom.
JSON API: Fix processing of boolean inputs.

To specify boolean inputs, you had to specify `foo=true` or `foo=false`.

You can now also specify `foo=1`, `foo=0`, `foo=t`, `foo=f`, etc. as intended.

http://[private link]#comment-1722

Merges r102851-wpcom.
REST API: Properly load categories & tags for private blogs.

Added a test that uses the contributor auth token to test with limited permissions.

https://[private link]
https://[private link]#comment-1524

Merges r103317-wpcom.
JSON API: Boolean args in `::cast_and_filter()` should respect the `$return_default_values` parameter.

Broken in [102851].  Discovered in [103238].

For example, `bin/api/test.php --test invalid_update_post_request_should_400`

Merges r103321-wpcom.
JSON API: Make sure comment author fields do not get HTML encoded.

http://[private link]

[103319] is similar for post fields.

Merges r103324-wpcom.
Merge commit '75370c9' into merge-george-08222014

Conflicts:
	class.json-api-endpoints.php
REST API: add post thumbnail image object as part of the post response

see https://[private link]

Merges r101978-wpcom.
REST API: post_thumbnail should be null instead of an empty string when it's empty

see https://[private link]#comment-1657

Merges r102297-wpcom.