ds_leveldb string comparison correction

cmp_string_compare had incorrect logic and btree mapping was incorrect.
Use of cmp_empty, which used length is not valid for strings. strcmp
does not take into account strings that may not be properly terminated
(missing a null) strcmp assumes that strings are null terminated or it
will overrun the memory and the results are unpredictable.