pymake: fix double-make race condition

The old dependency resolution algorithm would cause shared
targets to built more than necessary because jobs were dispatched
in parallel. That parallelism wasn't really exploitable since this
computation is done in Python anyway. This new one serializes job
dispatch to avoid races.
Rename make.py to makefile.py