renamed utilities
updated the implementation of UTIL_ASSERT
add testing demo for utilities
add implementation of RefCounter
add implementation of smart pointer