Add fine-grained speed profiling inside MarkupParser

BUG=435264
R=nyquist@chromium.org

Review URL: https://codereview.chromium.org/723373003
Optimize OpenGraphProtocolParser.parseMetaTags for speed

Time spent on parseMetaTags decreased from 8.7+-0.5 to 6.1+-0.3(ms) for:
http://www.cnn.com/2014/11/06/world/syria-strike/index.html

BUG=None
R=cjhopman@chromium.org

Review URL: https://codereview.chromium.org/725573006
Optimize SchemaOrgParser.parse for speed

Time spent on SchemaOrgParser.parse decreased from 43+-2 to 5.0+-0.2(ms) for:
http://www.nydailynews.com/entertainment/gossip/1.2007257

BUG=None
R=cjhopman@chromium.org

Review URL: https://codereview.chromium.org/724303002
Roll gwt to 2.7.0 (from 2.5.1)

See the changes to gwt here:
http://www.gwtproject.org/release-notes.html

This has several big-ish changes for us.

1. We now use java 7 (instead of 5)
2. We no longer use gwt-exporter (gwt now has built-in export support)
3. We now use the SingleScriptLinker (which changes slightly how we
    extract javascript)

This time we don't include the docs/ or samples/ folders of the gwt sdk.

R=nyquist@chromium.org

Review URL: https://codereview.chromium.org/762563003
Remove gwt-2.5.1 and gwt_exporter

These are no longer used.
Fix TextDocumentConstruction expectations

In the new gwt's test environment, <em> has inline style (instead of
block). This affects the tag levels of the constructed text blocks.

R=nyquist@chromium.org

Review URL: https://codereview.chromium.org/773843003
Use java 7 and closure compiler

R=nyquist@chromium.org

Review URL: https://codereview.chromium.org/777473002
Make image source absolute.

This change is to fix a bug where image URLs are collected before
the distiller makes them absolute. The code is essentially the same
as before but has been moved to a new position. An additional small
test has been added to check this.

BUG=435371
R=nyquist@chromium.org

Review URL: https://codereview.chromium.org/739393006
Add .clang-format file to enable git cl format

R=wychen@chromium.org

Review URL: https://codereview.chromium.org/789653003
Add framework for running tests in Chrome

This adds the core bits for writing tests that run in Chrome.

Stuff this does:
Compiles to javascript
Finds and runs all tests (public testFoo functions of non-nested classes
    extending JsTestCase)
Collects results of tests and prints them

Stuff this doesn't do:
Give useful stack traces
Automation (currently have to load the test html in a browser or w/
content_shell manually).
Fleshed out base Assert class (currently only has assertTrue).

How it works:

Using GWT's generator framework, find all test classes and methods. Then,
create a class, JsTestBuilderImpl, that registers all those classes/tests
with a JsTestSuiteBase. JsTestSuiteBase then can run all those tests and
collect results.

The javascript is extracted just like we do for the main domdistiller code.

A simple html page is added that includes the extracted javascript. Loading
this page will then dump the results to the console.

BUG=440102
R=wychen@chromium.org

Review URL: https://codereview.chromium.org/783283002
Merged conflicts