kraken: make data copyable and add method on data_manager for handling disruptions

We serialize in a string then we deserialize it, it's ugly, but it
will do the job for now. The ClonningArchive will save us!!!
I prefere that, but that's a question of taste:
```c++
template<typename Disruption>
void apply_disruptions(const Disruption& /*disruptions*/){
    std::stringstream ss;
    current_data->save(ss);
    auto data = std::make_shared<Data>();
    data->load(ss);
    //call the required method here
    current_data = std::move(data);
    release_memory();
}
```