Split implementation into header/implementation

Currently, exercism.io only supports submitting one exercise file.
Some users are submitting a single header file to work around this
feature limitation.  Others are passing the tests using multiple files,
and submitting only the .cpp file.  With this commit, I am trying out
the latter approach.