Adds @supports to TidyCSS. Fixes Automattic/Jetpack#225
Swap invisible DOM nodes in and out based on scrolls.

This patch teaches the infinite scroll system how to pull DOM nodes out of
nodes outside the current viewport and stash them in a cache. It does this
by hooking into determineURL and walking all of the pages that were determined
to be hidden. It pulls all of the child nodes out of the page and stashes them
in a DocumentFragment. It also updates the min-height of the page wrapper to
match the old height when all the children were present.

When a user scrolls a page back into view, the children are reinserted into
the wrapper and the min-height and class marker are removed.

All that said, I'm not sure this had much impact on the overall memory usage of the
browser. Since we're stashing the actual DOM nodes, that memory can't be saved,
but we are likely saving some render memory, as the DOM should be substantially smaller
in most cases. Need to do some more testing with a bigger, more complex set of posts.
Remove errant console.timeEnd
Added "width: 100%" to images to prevent larger images from escaping the containing element.
Teach the IS replacement code to ignore media elements.

The previous commit would blindly yank all of the elements from a page
and stash them in a fragment. This could lead to playing video and audio
elements to stop when their page was no longer visible.
Shortcodes / Facebook: update regex to support valid Facebook content URLs
Change IS to cache HTML instead of nodes.

This patch teaches Infinite Scroll to cache the HTML
from the xhr response instead of caching actual DOM nodes
when yanking unseen pages from the DOM. This improves the
memory usage of the browser tremendously, especially in
pages that contain many memory intensive DOM nodes, like images.

Compared to the previous strategy of caching actual DOM nodes
in a set of DocumentFragments, this technique allows the GC to
collect the memory used to back large DOM nodes.
Resolve cross-domain error causing infinite-scroll to fail on HTTPS

Safari on Desktop and iOS consider HTTPS to HTTP requests as cross-domain.
So, for example, if a site is accessed via HTTPS on iOS Safari, infinite scroll will fail.

This bug affects many more users on wordpress.com, where all logged-in users
are switched to HTTPS.

The issue is resolved by checking the current protocol in infinity.js,
then switching http:// out for https:// in ajaxurl if needed.

This method is preferred over changing ajaxurl on the PHP side, beceause
server-side caching may cause protocol detection to be unreliable.

Video of bug in action:

https://www.youtube.com/watch?v=253litAe1sg
Tiled Gallery: Pass Carousel URLs through Photon.

Use `wp_get_attachment_image_src` instead of `wp_get_attachment_url` for `data-orig-file` in Tiled Galleries to trigger `filter_image_downsize` in Photon. This way the full image link in Carousel will point to an image served by Photon.
changed width: 100% to max-width: 100%
Tiled Gallery: Row containers to all galleries.

Circle and square galleries also have rows now, so that we can handle overflow
 when resizing for some themes more gracefully when content width changes due
 to for example a side bar in the twenty-fourteen theme.
Tiled Gallery: Group containers to all galleries.

Also square and circle galleries have groups now, so that overflow is more
graceful when for example zooming out in your browser to say 90%.
'shallow clone' the WordPress develop repo

There is no need to checkout the entire history of the WordPress develop Git repo.

Using `--depth=50` reduces the checkout time by ~75%

http://git-scm.com/docs/git-clone
> --depth <depth> Create a shallow clone with a history truncated to the specified number of revisions.

Time WordPress Git develop repo 'shallow clone' vs 'full clone'
https://gist.github.com/ntwb/36ad2a31cb87e7411c28

This resulted in 'my' build on Travis CI taking 22 seconds vs the previous Jetpack build taking 1min33secs
https://travis-ci.org/ntwb/jetpack/builds
https://travis-ci.org/Automattic/jetpack/builds
Shallow Clone One
Minileven: Add a setting to display featured images.

Search results will not display featured images regardless of setting value.
Minileven: Add filter to allow filtering of where Featured Images are displayed.

Merges ideas from and resolves #619.
Tiled Gallery: Fix image meta encoding.

Image meta is now encoded by calling `esc_attr` on the result of mapping strval over the image meta attributes, instead of mapping `esc_attr`. This way `json_encode` can properly escape any quotes inside the attribute, before being attr encoded.
Added additional random parameters 

Added random_cat_id and random_post_type parameters to match the functionality of the original Random Redirects plugin.
Carousel: Add and use an in_gallery variable
set by a low-priority post_gallery hook

Props @chrisbliss18
Carousel: fix check if we're in a gallery