added internal::cstr function
use WARNING instead of ERROR
added check macros to Pointer(Array|Hash) and fixed memleaks by it