Remove ninja references from Dot backend.

Destroy evidence of copy+paste between backends!
Make a slightly more impressive test for dot.
Let backends specify a default output filename.
Trivial: use err, not std::cert.

We've already gone through the trouble of setting up Bytestream& err, so we should always use it!
Add dag::Build::allOutputs().
Add dag::File::filename().
Add a POSIX Make backend.

This generates makefiles with no BSD or GNU extensions.