Convert namespace into struct and add namespace cache

Because we will search namespace more often to avoid build
same object/struct again and again.
Add interface cache into namespace
Rename build-object/struct to build-object/struct-class
Add find-build-interface

To avoid build-struct/object-class again and again.
Remove return-raw-pointer keyword parameter from build-function

Because all object constructor related logic can be handled with
normal function return value.
Fix struct build constructor/method functions

Before, function-info may be NIL when used.
Add function/constructor method cache to object/struct

To avoid build same function again and again.
Merge pull request #36 from hying-caritas/cache

Add cache