[turbofan] Combine additional Word32And with Int32Add and negative power of two.

- (y << L + x) & (-1 << L) => (x & (-1 << L)) + y << L
- (x + y << L) & (-1 << L) => (x & (-1 << L)) + y << L

TEST=unittests
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/758603003

Cr-Commit-Position: refs/heads/master@{#25627}
Make test-parsing faster: don't run parsing tests with all experimental flag combinations.

Instead, make it possible for indifidual tests to pass "always true flags" which
are not part of the varying flag set.

The downside is that if an experimental flag changes parsing of some of the
unrelated code snippets, it's noticed later (only after the flag is turned on by
default). But this is a reasonable trade off for faster tests.

Additional fix: Some tests (ErrorsFutureStrictReservedWords) were using
always_flags incorrectly (running two different tests with different
always_flags basically iterates over every flag combination anyway - most of
them twice).

BUG=v8:3707
LOG=N

Review URL: https://codereview.chromium.org/772823002

Cr-Commit-Position: refs/heads/master@{#25628}
Serializer: cache recent back references for shorter encoding.

And some refactorings.

R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/766893002

Cr-Commit-Position: refs/heads/master@{#25629}
Slow down incremental marking on main thread when idle notification is active.

BUG=

Review URL: https://codereview.chromium.org/771703004

Cr-Commit-Position: refs/heads/master@{#25630}