Merge pull request #74 from Renelvon/smartdict_fixes

Smartdict fixes
Type, Type test: Unify error hierarchy.
Type test: Static methods are no more.
Type test: Move is_array tests in separate class.
Type test: [TDD] Move validation inside Table.
Type: Move validation inside Table.
Type test: Simplify code.
Type: Move is_array.
Type test: [TDD] Signal undefined type when validating.
Type: Signal undefined type when validating.
Type test: [TDD] Validate arguments of constructors.
Type: Validate arguments of constructors.
Errata: Sort entries.
Errata: Constructor arguments should be valid types.
Type test: Verify API of Table.
Symbol, Symbol Test: Rename SymbolTable to just Table.