Use the existing PMC_CPUID_LEN to size pmc_cpuid in the kernel and various buffers for reading it in libpmc.
This avoids some extra syscalls and malloc/frees.
While in here, use strlcpy to copy a user-provided cpuid string instead of memcpy, to make sure we terminate the buffer.
Sorry for the extra review noise mav, this ended up changing a bit after taking a final look at the original patch :)