Switch to a C++ SVD library

Would like to have added it as a submodule, but they are using Mecurial
Add documentation
Clean up generated files
Code to generate header.txt and SVD.txt