Update Jetpack_SSO to be a proper singleton

Remove usage of ‘new Jetpack_SSO’ in favor of Jetpack_SSO::get_instance
to emphasize that Jetpack_SSO is a singleton. Made the constructor
private.
Remove default post types for showing share links

Default post_types for showing share links were being set on line 204 but then were being overwritten. This updates the default to an empty array (which is the default when the global options have not been set) but now, the show parameter can be updated by the 'sharing_default_global' filter without being reset to an empty array.
jetpack sharing: remove ability to disable CSS and JS in sharing screen

- any existing setting is respected
- fixes #125
Merge remote-tracking branch 'upstream/master'
Manual merge to update with upstream master
Add filters to feedback fields and field headers.
different approach to fixing revisions

re-introduced the use of wp_revisions_to_keep, but cast the argument as
an object to avoid notice
fixes #119
Infinite: Only load new pages when within two screens of the bottom.

The current infinite scroll code loads a new page when the browser is
within 25% of the bottom of the page. On very long IS pages, this leads
to loading an increasing number of unnecessary pages, as the bottom 25%
of the page increases in size as the user loads more and more pages.

This patch makes IS less aggressive in loading new pages. Two screens was
chosen as a starting point and is obviously open to tweaking.
Extract slide positioning logic into a separate function
Add updateSlidePositions to the resize handler
Reformat selectSlide to match coding standards
Reformat updateSlidePosition to match coding standards
Add comment to explain tricky part of updateSlidePositions
Publicize: hide the new publicize_twitter_user custom field
Contact Form: add help message to explain to send to multiple emails
Carousel: Set proper offsets when viewport changes size

In Mobile Safari, the carousel images will not stay in the correct positions
when the device orientation is changed. For example, when the user changes from
portrait to landscape view, the current slide is positioned to left instead of
centered. Since the offsets are defined in terms of absolute pixels, they don't
get updated automatically.

This problem also happens on the desktop versions of Chrome and Firefox. When
the browser window is resized, the offsets are no longer correct.

The solution for all these browsers is to reset the offsets when the
resizeTimeout fires. This works for mobile too because the the orientation
change triggers a resize event.
New Admin UI: avoid fatal error on PHP 5.2
Module Related Posts: Cleanup use of blog_id params

Stop passing around blog_id as function params and use protected vars set
during `init()` call. In addition, explicitly define local vs. wpcom blog
ids to avoid confusion when used on MU Jetpack sites.

The resolves #337
Merge pull request #344 from xyu/related-posts-337

Module Related Posts: Cleanup use of blog_id params
Whitespace tidying.

Better align stuff.