replace hand-rolled scoped_ptr implementation w/ C++11's std::unique_ptr

tracks changes for #70