Merge pull request #75 from Renelvon/unify_error_hierarchy

Unify exception hierarchy in type module and other minor fixes.
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.
Type test: Verify API of Table.