rename to cpp
fix build and minor c++ifcation
rename ssl.h to ssl.hpp
more cleanup, type-safety, and dependency removal
more cleanup
forgot to change actual implementation to use by reference too