We check for __main__ so import guard is redundant (was broken anyway)
Use none instead of empty object to indicate 'false'
Only print modules once on errors
Beginnings of unit tests
Clean up some useless lines
Indent and naming tweaks
Some more dep checking tests
Add test for dep resolution
Add unit tests to test script