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.
- feat: add a field for the type of work location (e.g. hybrid)
- refactor: move the Tex and PDF generating code to a new internal
package which also moves the templates there as well.
- fix: add a default value for the --output field for the generate
command.
- fix: add an error for when the user does not specify an input file
when generating the PDF.
- fix: the package name for each of the files in the templateFuncs
package.