speed up dc recovery as don't spend time on pickling/unpickling data

MR for fix #556 When there are lots of keys to recover in final_merge pickle dump consume lots of memory and CPU as it's perform checking already pickled objects (https://docs.python.org/2/library/pickle.html#relationship-to-other-python-modules "The pickle module keeps track of the objects it has already serialized, so that later references to the same object won’t be serialized again. marshal doesn’t do this.")
Use cat to concatenate files
Python2.6 doesn't support multiple context expressions, so you have to split this `opens` into different `with`.