clean up for loop
only add target dependency once
add RootTarget mechanism so driver doesn't have to know about global target types
enable global function table updating in modules

Fixes issue where modules depend on other modules. Extends the global
function table so functions resolve.
Add debug info
fix missing equal sign
use new RootTarget mechanism, re-org optional executable
initial version of unit testing module