@returns 0 on success, < 0 on error
@note This function will replace an existing (key,value) pair if the
new key matches an existing key
@returns 0 on success, < 0 on error
@note This function will replace an existing (key,value) pair if the
new key matches an existing key