7z: allow extracting/opening/adding files prefixed with '@'

7z uses '@' to specify a listfile; i.e. a file with a list of files to add or
extract. Therefore, if working with single files (e.g. open, add or extract a
single file from the archive), the filenames need to be escaped with '!' and
specified with '-i'. It is ok to mix files specified with '-i' and the ones
given after the archive filename.

E.g. instead of:
  7z x -bd -y -o/tmp/.fr-2z9FXz -- HS04603.ZIP @HS04603.PDF

it should be:
  7z x -bd -y -o/tmp/.fr-2z9FXz -i!@HS04603.PDF -- HS04603.ZIP

https://bugzilla.gnome.org/show_bug.cgi?id=708854