obj: fix string cloning.

Cloning was silently changing the type of strings from STR to ATOM.
This lead to strange behaviour in eval which resulted in this code
causing a segmentation fault:

    (SETQ FRUIT "APPLE")
    (SETQ APPLE FRUIT)
    APPLE

This patch corrects the bug and adds a regression test.