magit-status: replace SAME-WINDOW argument with SWITCH-FUNCTION

Even when `magit-status' is used non-interactively, the option
`magit-status-buffer-switch-function' should be respected.

Visiting the status buffer of a submodule using `magit-visit-item' may
now behave differently.  When invoked with a prefix argument it still
enforces that another window is used.  But without a prefix argument the
decision is left to `magit-status-buffer-switch-function' (which may
also be configured to use another window, causing the prefix argument to
have no effect).

Close #1196.