Smartdict test: [TDD] Smartdicts should not share state.
Smartdict: Smartdicts should not share state.
Smartdict test: [TDD] Ensure getKey uses the default argument.
Smartdict: Ensure getKey uses the default argument.

This bug was found by running `pychecker` on the soure code.
Merge pull request #74 from Renelvon/smartdict_fixes

Smartdict fixes
Errata: Sort entries.
Errata: Constructor arguments should be valid types.
Symbol, Symbol Test: Rename SymbolTable to just Table.
Type, Type test: Unify error hierarchy.
AST test: Test Node instantiation.
Merge pull request #75 from Renelvon/unify_error_hierarchy

Unify exception hierarchy in type module and other minor fixes.