refactor: minor restructure and basic housekeeping
- Document main package.
- Update Go version to 1.18.
- Unify cli and docs packages.
- Rename persist package to services to allow for more idiomatic
names.
- Simplify error handling.
- Separate the task of fetching the kernel version and asserting that
it is compatible with the application.
- Simplify logic that checks whether the kernel version is compatible
with the application.
- Replace `fmt.Sprint` calls with the more performant
`strconv.FormatInt(int64(t, 10))` for writing to the threshold
variable.
- Create a new test suite for the threshold package including fuzz
tests.
- Update documentation year.
- Fix grammar errors in the README.
- Delete the superficial `main_test.go`.