Initial move to CMake

CMake should make it easier to work on the code using various IDEs, and
hopefully also make compilation easier for the end-user.
Renamed test programs; moved python interface
Use underscores to make variables private
cmake updates
[doc] explain the type casting functor
[formatting] whitespace cleanup
[algorithm] store generating combination with hyperplanes
[algorithm] make scaling_factor an optional output
[formatting]
[algorithm] store generators with hyperplanes
updated python readme
[formatting]
use malloc instead of new in C interface
add header file for C interface (untested)
add missing file