Make ldap_int_thread_userctx_t.ltu_key a proper NULL-terminated array.
(setkey/getkey expected that, but purgekey could set a NULL in the middle.) Added some checks for input key!=NULL. API changes, need review - I'm not sure what's indented here: - setkey(data=NULL, kfree!=NULL) searched as if intended to reset the key, but updated by setting the key. Now always updates. - setkey(key=<not found>, data=NULL) could return either success or failure. Now succeeds iff (data == NULL && kfree == NULL).