implement delete attribute by reorganize hidden class

Yes it does, if the delete target is a normal name, it has effects on scoping rules -- maybe have an assert on the target type?  something like `RELEASE_ASSERT(target->type != AST_TYPE::Name)`