clean up copyPersistedState code

move shared code to new `BrooklynPersistenceUtils`,
make a new `LocationWithPersistenceStore.newPersistenceObjectStore` interface,
and add documentation for `copy-state` command
support for exporting persistent state
more persistence, mainly tidying code to treat all BrooklynObject instances the same