Now uses CMake to create a library. Contains both C++ and Fortran implementations of the algorithm.