JSON API: Allow Public CPTs by default.

Up until now we have allowed pages and posts to be accessed via the JSON
API with a whitelist filter that can be used to add CPTs to the allowed
list. This has 2 problems:

1.  The API does not get all public posts out of the box needing developers
    to add both the CPT and a filter to allow public CPTs to show up.
2.  When specifying type 'any' only posts and pages are returned even after
    CPTs are whitelisted making it impossible to get posts and CPTs
    together in one call.

This patch adds a new blacklist filter so that all public CPTs are
avaliable by default (with the abality to turn them off for the API) and
allows the 'any' special type to return all post types allowed.
Add global JP filter for allowed post_types
Manage: First iteration on new JSON API endpoints.
+ Active Theme:  'sites/example.com/themes/mine'
+ Change Theme:  'sites/example.com/themes/mine' POST theme
+ List Theme: 'sites/example.com/themes'
+ Activate Plugin:  'sites/example.com/plugins/<plugin_name>/activate'
+ Deactivate Plugin:  'sites/example.com/plugins/<plugin_name>/deactivate'
+ List Plugins: 'sites/example.com/plugins'
Manage: Use JSON API standards.

Return an Id for each object.
Manage: Jetpack Modules management JSON API endpoints.
+ Activate Module:  'sites/example.com/jetpack/modules/<module_name>/activate'
+ Deactivate Module:  'sites/example.com/jetpack/modules/<module_name>/deactivate'
+ List Modules: 'sites/example.com/jetpack/modules'
Fetch plugin update info.
Sync all public post types
Add a new version of the get posts API to return all whitelisted posts as well for the 'all' type
Reuse existing rest_api_allowed_post_types filter
Merge remote-tracking branch 'upstream/master' into jsonapi-allow-public-cpts

Conflicts:
	class.json-api-endpoints.php
Better version compare
Move white list into class.json-api-endpoints.php because it only pertains to the JSON API
Clean up class methods
Whitespace
Coding style fix
Always fall back to settings defaults

If there isn't a setting, `get_site_option()` defaults to `false` which causes problems when treated as an array.
Fixes issue #73

Before we use the original image we check that the image actually
exists.
Merge pull request #753 from danielbachhuber/always-use-defaults

Always fall back to settings defaults
Make stats interstitial message translatable
Merge pull request #754 from martinremy/stats-translation-fixes

Make stats interstitial message translatable