Split make.c into two phases -- make0bscan() and make0().
make0bscan() does binding and header scanning, and make0()
does fate determination.
This two pass approach completely isolates fate determination
from header scanning, and so eliminates problems where
circular INCLUDE dependencies caused the old make0() to
incorrectly determine the fate of targets (see
//guest/matt_armstrong/jam/bug/3/...).