kernel/hptmv: Don't mess up the struct by copying too much.

VendorId is only 8 chars.
<sys/cdefs.h>: Use _Static_assert for CTASSERT.

Move CTASSERT from <sys/systm.h> to <sys/cdefs.h> and use _Static_assert
for its definition (which gives us a better error message in case it is
triggered).

But if there is no support for _Static_assert or static_assert in the
compiler, use the previous typedef method.