Support for multiple compile queues/jobs, stats cache and compile order consistency

This patch set adds:
 * compile order consistency across filesystem changes
 * stats cache for need_update() routine to speed things up and reduce IO load
 * ability to compile libraries and programs over multiple host cores/CPUs

The compile queues feature is controlled via -j flag to build.py, build_releases.py and make.py. The default value is 1 which effectively disables the support. If -j 0 is specified, then the number of host machines CPUs will be used to determine the number of jobs.