The initial kvec code was a bit wobbly. It had raw loops, some weird
constructs, and had more elements than we need.
Add some iterator helpers that make it less likely that we'll screw up
iterating over different length vectors. Get rid of reliance on a
tailing null pointer and always use the count of elements to stop
iterating. With that in place we can shrink the number of elements to
just the greatest user.
Signed-off-by: Zach Brown <zab@versity.com>