Fix some sub-optimal use of the persistence facility.

- Commands were potentially saved twice, and so were their strings.
- Strings in RescuableArtifactData objects were potentially saved twice.
- Remove an unneeded include of persistence.h from a header file.
- Make all PersistentObject::{load,store} methods private to make
  it clear that they may only be called via PersistentPool.

Change-Id: I17c94201dc8bc57b89132d00f3db2ec0ae2e7922
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>