Add semantic analysis of non-top-level imports
Add non-top-level import test cases
Flag repeated import as error
Fix import removal in Python gen within block

Replace import with 'pass' if within block.
Remove redundant imports

These now trigger an error.
Fix import of multiple submodules of a package
Remove unused import
Refactor 'sys' imports
Refactor TypeInfos to use symbol tables
Minor refactoring
Minor refactoring
Rename SymNode to SymbolNode and make it a class
Rename full_name to fullname
Refactor name lookup
Add semantic analysis of imports in class body
Fix semantic analysis of imports in class body
Add type checker test cases (close #109)