Posix symbols are not enabled by default for MSVC
Merge pull request #518 from syntheticpp/max-patch

Posix symbols are not enabled by default for MSVC
Fix duplicate edge Pool crash in the minimally invasive way
Fix Pool to use a set internally
Fix debug build on linux (type strictness).
Add regression test
Merge pull request #521 from riannucci/ignore_duplicate_edges_in_shcedule_work

Fix duplicate edge Pool crash in the minimally invasive way
Add spell checking for debug flags.

I just used `ninja -d stat` and it took me a bit to realize that I missed the
trailing 's'.

While here, move the message printing from printf() to Error(). This makes the
output consistent with other error outputs: The messages are now prefixed with
"ninja: error: " instead of just "ninja: " and they go to stderr instead of
stdout.
Merge pull request #522 from nico/spelldebug

Add spell checking for debug flags.
allow paths with '!' in depfiles

See funny paths in
  https://github.com/google/libcxx/tree/master/test/iterators/stream.iterators/istreambuf.iterator/
Dollar signs in depfiles are escaped as "$$", not "\$".

See http://llvm.org/PR15642. I checked that gcc does produce depfiles
containing "$$" for files with "$" signs in their name (and as of
r178540, so does clang). I also checked that .d files that escape dollar
signs with "\$" are not read correctly by make.
Merge pull request #525 from nico/escapedollar

Dollar signs in depfiles are escaped as "$$", not "\$".
tag a feature with the right version number
decided against using XXX in the manual for unknown versions
add noreturn attr on Fatal()
refactor some of the output mtime-handling code

Reduces duplicated explain output.
Improved bash completion when using tools like '-t clean'
Merge pull request #526 from RedX2501/improved_bash_completion

Improved bash completion when using tools like '-t clean'
fix compile error about noreturn on windows
Merge pull request #527 from wang-bin/compile_fix

fix compile error about noreturn on windows