Merge upstream commit '0a2e2cae' into master

* commit '0a2e2cae7038ce519b0524c07d7135c3e520c9cd':
  Restore depfile toleration of multiple output paths on distinct lines
  Fix depfile parser handling of multiple rules
  Fix depfile parser test case line continuation
  Re-arrange depfile parser token processing logic
  Re-generate depfile parser with re2cc 1.0.1

depfile_parser.cc conflicts were handled by regenerating with re2c

The other conflicts were all fairly simple argument/option ordering.

Test: compare .ninja_deps of a full android build before and after this
      change, they're equivalent
Change-Id: I74b7fc56e035c9dbab4c987b6af17329c596a898