Add golangci-lint for linting and refactor the code based on the
feedback from running it.
Changes:
- Add configuration for golangci-lint.
- Break the large function in create.go into smaller ones.
- Rename internal/templateFuncs to internal/templatefuncs to remove
upper case letters in the package name.
- Add a mage target for lint tests.
Create new FlagSets to create new subcommands.
- The version subcommand prints the version and build info.
- The generate subcommand generates the CV PDF documentation.