Introduce the "console" pool

This is a pre-defined pool with a depth of 1. It has the special property
that any task in the pool has direct access to the console. This can be
useful for interactive tasks or long-running tasks which produce status
updates on the console (such as test suites).
Allocate per-edge BindingEnvs lazily.

In chrome, only 2000 of 22000 build edges have bindings.  A BindingEnv is
64 bytes, so allocating these only when needed saves a bit over 1 MB of
memory.  Since env chains are shorter for lookups, builds also become a
tiny bit faster.
add a script to generate large synthetic manifests

To be used by a manifest parser perf test in a follow-up.
performance: Writer.build should copy less.

The build method copies the input lists several times. That
cost about 0.1s in the gyp generation for the Chromium project for
no gain.
Merge pull request #732 from bratell-at-opera/bratell/fewer_list_copies_20140414

performance: Writer.build should copy less.
Merge pull request #722 from nico/manifestgen

add a script to generate large synthetic manifests
CLParser shouldn't read stderr
Merge pull request #734 from sgraham/no-stderr

CLParser shouldn't read stderr
Fix bash completion when using command options

By quoting the ‘line’ variable we are making it a single word, but ‘getopts’ wants each option as its own word.

Previously bash completion would output an error for a line like: ‘ninja -vn targ‸’.

In addition to removing the quotes (to enable word expansion) I also used it as a regular variable, as that is what it is (not an array).
Expand the -C argument via ‘eval’ in bash completion

Previously completion would not work for ‘ninja -C $HOME/Source/foo targ‸’.

We still do not support using tilde in the directory argument.
Merge pull request #737 from sorbits/bash-completion-fixes

Bash completion fixes
Rename parser_perftest to depfile_parser_perftest.
Merge pull request #739 from nico/ren

Rename parser_perftest to depfile_parser_perftest.
Add a .clang-format file.

This isn't meant to be authoritative. It's good enough to let the
"indent current line using clang-format" hotkey do the right thing often
enough to be useful.
Merge pull request #740 from nico/formatfile

Add a .clang-format file.
Propagate file rename to gitignore.

This was introduced by 68a4bb27d1a747b240ea68cd320a51dbd261ed14.
Merge pull request #741 from nicolasdespres/propagate-file-rename-to-gitignore

Propagate file rename to gitignore.
Add a simple manifest parsing perftest.
Manifest perftest: Also measure command evaluation time.
Add manifest_parser_perftest to .gitignore.