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
Contact Forms: Subject can have replaceable tokens

Contact Form subjects can contain tokens, like {city}, where a form field with
name City (case insensitive) will be searched for, and the value of {city} is
replaced by the sanitized value of that field.
Contact Forms: Add `$all_fields` to subject filter

The `contact_form_subject` filter now receives an additional argument
`$all_fields` which is an array with the fields' label names as keys, and the
fields' values as values.

Refactored the hook for token replacing in the subject to use the passed field
value array instead of fetching the current form.
Contact Forms: Refactor subject token replacement.

`replace_tokens_with_input` replaces token values more neatly by using
`str_ireplace` with all the possible token strings and their corresponding
values.
Contact Forms: Update PHPDoc.
Contact Forms: Extract anonymous functions for bc.

Extracted anonymous functions from `replace_tokens_with_input` as static
methods for PHP backwards compatibility.
Contact Forms: Trim labels before tokenizing them.

When replacing tokens with field values, let's trim the labels of any possible
whitespace before tokenizing them for the replacement.
Contact Forms: Added tests for token replacement.

Tests to check that `replace_tokens_with_input` works as expected, and that
`process_submission` will successfully replace tokens in the subject.
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.
Likes: hide the reblog settings in Jetpack
Contact form: fix a typo in grunion_ajax_spam().
Merge pull request #724 from pbogdan/contact-form-fix-unspam-email-notifications

Contact form: fix a typo in grunion_ajax_spam(). props @pbogdan
Merge pull request #720 from jeherve/reblogs_jetpack

Likes: hide the reblog settings in Jetpack: props @jeherve
Support for Nintendo handhelds DSi and 3DS in the class.jetpack-user-agent.php
Sync all public post types
Contact Form: prefix function to avoid plugin conflicts