deal with magit-custom-options being dynamically bound

Ensure that only the command, for which the (global) value of
`magit-custom-options' was set inside a dynamic binding, can see that
value by (again dynamically) binding it to nil before refreshing other
buffers (some of which might make use of that option during a refresh).

We cannot make this variable buffer local because that would collide
with other leaky abstractions.  E.g. the buffer whose value we would
want to use is not actually current anymore when the command is
called (see `magit-key-mode-command').

The change to `magit-log-long' is not actually required, and does not
even have any visible effect.  Before entering this rabbit hole I had
hopes that this change would fix the issue.  I keep it for consistency
with all other places where `magit-custom-options' is integrated into
some bigger list: they all use `append', so stop using `nconc' here.

Uff.  This fixes #633.