test
Improve type system, simplify the class definition

Improve type system, simplify the class definition
1/23/2013
---------
+ Improve type system. Now 'is_object' can be used to detect if a
pointer points
to a bcplib object. Now bcplib has its own magic number, which is
'0xFEEDACED'.
+ Universal 'new' and 'destroy' function. Now 'new', 'destroy',
'classof' etc.
are all selectors, which means all the related data are in meta class
structure.
+ Completely new way to define/initialize a class. Instead of defining a

structure to contain the content of a class, now user only need to
define
a 'X_prototype' (where *X* represents the class name) and use several
macros to define a class, lots of details are hidden behind.
+ As parts of the *hidden* idea, initializer and finalizer of a object
must be
defined and implemented using related macros ('BEGIN_IMPL_INITIALIZER',
'END_IMPL_INITIALIZER', 'BEGIN_IMPL_FINALIZER', and
'END_IMPL_FINALIZER').
+ Old ways of create class (use 'createN' macro) are replaced by the new
'new'.
+ Minor refactor of the project structure.