magit-{stage,unstage,discard}-item: remove dead mystery code

These functions use `magit-section-action' and mostly identical clauses
that try the section context against `(diff diff)' and `(diff diff hunk)'.
This is wrong there exists no section type for which instances can be
the child of a section an instance of the same type.

We use symbols to uniquely identify section types, and a long time ago
someone made the mistake to use the same symbol to identify two distinct
types.  I have fixed that by using `diffbuf' to identify the outer
section some time ago, but I did not notice that kludges had been added
to work around this error.  I am removing them now.