build - Support concurrent SUBDIR traversal, fix make depend bug
* Support concurrent SUBDIR traversals during a make -j N.
Create individual targets for each target/directory combination so Make
will run them in parallel when possible.
* SUBDIR_ORDERED, if it exists, indicates the subset of SUBDIR which must
be ordered. Any directories not mentioned can run concurrently.
* If SUBDIR_ORDERED does not exist at all then all directories default
to being strongly ordered and will NOT run concurrently.
* Try to make sure that all include files and generated source files
are generated before running the depend core.