move gtest out of cpp_tests/source directory

and clean up CMakeLists.txt a bit
eliminate need for main() in c++ testing

can simply link to gtest_main to make the main for us
improve CMakeLists.txt

generalize to pele library instead of lbfgs library
replace tabs in c++ source with 4 spaces
add required virtual destructors
use shared pointers in simple pairwise potential
add shared pointers to frozen atom potential
use std::make_shared
quiet compiler warnings
fix some bugs in the c++ tests.

these were discovered with valgrind
Merge pull request #26 from js850/shared_ptr

use std::shared_ptr in the c++ backend

also do some c++ clean up and fix a few c++ test bugs

There are a few more places where we should use shared pointers.
Merge branch 'master' of https://github.com/pele-python/pele
fixed memory leak from base integrator