Make the package cache resistant against deserialization errors

Today I've been hitting zlib decoding errors and I'm 99% sure my
disk isn't failing (RAID 1 array). For now I'm inclined not to
dive too deep into this, because there's a very simple fix (see
first line :-). For future reference, here's the zlib error:

  File ".../deb_pkg_tools/cache.py", line 299, in control_fields
    return self.cache.decode(self['control_fields'])
  File ".../deb_pkg_tools/cache.py", line 249, in decode
    return pickle.loads(zlib.decompress(database_value))

  error: Error -5 while decompressing data