Ninja build support

This just updates .gitignore and forcibly passes -fcolor-diagnostics to
enable colour error reporting when Clang is running under Ninja. Unix
Makefiles are still supported.