Replaced RefCounter used in List and Map with smart pointers
Removed RefCounter class which is no longer used
Introduced an include guard in config.h which can be included twice