pymake: cache results of CPPincludes()

CPPIncludes() invokes the C compiler which is expensive if you just
want to generate the build dependency graph. This change caches the
results of that to speed it up.

Also grease _create_job() up a bit.
pymake: only remake if dependency is strictly newer

We used to rebuild a target if one of its dependencies were
the same age. This is technically more correct but in practice
causes too many redundant builds because of bad mtime resolution.
Since this tool is geared toward automated rebuilding after programmer
edits, it's fine to only rebuild if strictly newer.