Make state transfering atomically.

Create a temporary data directory and store intermediate result there,
after the transfering is done, rename this directory to data directory.

The naming of data directory is like : dataN where N is the id of the
directory.