Use cl-lib package instead of cl package

This Rull Request replaces `cl` package with `cl-lib` package and replaces `flet` and `gensym` with `cl-flet` and `cl-gensym` respectively.

It removes the following warnings:
```
kv.el:125:31:Warning: `flet' is an obsolete macro (as of 24.3); use either
    `cl-flet' or `cl-letf'.

In kv--destructuring-map:
kv.el:40:8:Warning: function `gensym' from cl package called at runtime
```