lib: use go1.18 as a minimum version
Created by: keegancsmith
Now we can also use go1.18 features in lib package. The main consumer of lib outside of the monorepo is src-lib. I have sent a PR to update it to use go1.18. Otherwise other uses of lib haven't updated in a long time.
Test Plan: go test