remove types and symbols for built-in types

because we need not distinguish builtin types from user defined classes
remove classes for built-in classes

the reason is the same as one of previous commit
restore data types
Revert "restore data types"

This reverts commit 0fe8c495a60d5397dcdadfedc22d2565170f8ea2.
Revert "remove classes for built-in classes"

This reverts commit dc394c9f7d777a4f395cf30be19c7de15c33702d.
Revert "remove types and symbols for built-in types"

This reverts commit 7af69845728b23a9ddb475b1088474fa8a61a8a4.
remove template holder type and rename a class

- remove because all template types are resolved in type definition
  phase.
- rename: class_type -> primary_class_type