We can't repeat our call to kvs_next/kvs_prev after a partial record is
returned because the key was returned so any subsequent next/prev call
will skip a key/value pair.  Instead, kvs_get instead, after growing the
buffer.
Fix a memory leak, we had two allocated string names, and were only freeing
one.
fix a comment.