I changed the name to reuse kvec.h code with Array and Dictionary instances.  Other than that, there were two other options I could see:

- Change the field names for Array and Dictionary. And since we are not writing mathematical proofs, `a`, `n` and `m` are not suitable.
- Duplicate the code on kvec.h

In my opinion, changing the names in kvec.h is the most reasonable choice. The only other two changes I made were:

- Replace `realloc` by `xrealloc`
- Increase the initial capacity from 2 to 8

I don't see any need to fork klib tests, these changes are easy to re-apply if there are upstream patches