move source files into src/ directory

It is tidier to have the .cpp and .h files in their own directory to a)
make the root of the repository look tidier and b) to separate build
system from source.