Make the heal process resilient

* Do not overwrite the target WSP file if the source file is corrupt.
* Make a backup of the source file if we replace it
* Handle any other possible exception that can be generated by
  fill_archives(), log, and skip that file.  This catches exceptions
  like "unpack requires a string argument of length 336756" where the
  source WSP file is corrupt.