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'