Avoid performing a potentially-blocking malloc for kenv lookups that will only
perform non-destructive integer conversions on the returned buffer. Instead,
perform the strtoq() in-place with the kenv lock held. Additionally, change
the kenv lock from a mutex to an rmlock. While the kenv isn't likely to be
accessed frequently in general, it still seems somewhat wasteful to force
mutual exclusion on what is likely to be a read-dominated access pattern.