cloneable.h : Remove the "base_class" argument for various macros
Remove second argument for the uses of macro IMPLEMENT_CLONEABLE
Remove second argument for the uses of DECLARE_CLONEABLE_DEFAULT
cloneable::clone : use return value to return result.
cloneable_base::copy_to : use return value to return result
cloneable::destroy : remove argument
Adjust