Implemented smart pointers, documentation and tests
Smart pointer fixes
Changes to base game classes, implemented map component