Refactor IPC fuzzer.

1. New directory structure to accomodate replay, mutate and an upcoming message_lib components.
2. Break ipc_fuzzer_main.cc into replay.cc + replay_process.[cc|h].

BUG=260848

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239206 0039d316-1c4b-4281-b951-d872f2087c98
Correctly define OVERRIDE / FINAL when building with g++ 4.7 and C++11 support

g++ 4.7 and later support explicit virtual overrides when building with C++11 support
enabled. Blink correctly detects that and defines OVERRIDE / FINAL properly. However,
Chrome does not detect compiler support properly and makes OVERRIDE / FINAL no-ops.

This causes the compiler to complain about OVERRIDE / FINAL being redefined.
This CL updates base/compiler_specific.h to define OVERRIDE / FINAL properly when
g++ 4.7 is used with C++11 support enabled.

See this page for GCC support of C++11 features:
http://gcc.gnu.org/projects/cxx0x.html

BUG=233330

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239207 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 239206
SVN changes up to revision 239207
Experimented with having the tests detect javascript errors, but it turns 
out I can't implement it so that it works with the parallelizing 
test launcher. Anyway, while experimenting I found some issues in 
the tests.

Fixes some javascript bugs / race conditions in the tests that were 
detected by this change.

BUG=325130

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239208 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 239208