Auto set version string and date at build time

Uses versioneer to get the version number from git and make the version.c file from a template. Also sets the year for the copyright notice.

TODO:
- [x] Rename and update the `publishing.md` file
- [x] Missing support for the docs and dist version strings
- [x] Test if works when building from an archive
- [x] Changelog entry (unnecessary)
- [x] All tests pass
- [x] Can be merged