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.
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.
Manifest perftest: Pull manifest parsing into own function.
Manifest perftest: Try to make it build on Linux.