magit-diff-visit-file: use magit-find-file when appropriate

When visiting a committed change and the commit isn't the HEAD commit
then visit the file using `magit-find-file-noselect' instead of visiting
the working tree.

This partially implements #1566.
magit-{,branch-or-}commit-at-point: in rev buffers return shown rev

In `magit-revision-mode' buffers `magit-branch-or-commit-at-point' and
`magit-commit-at-point' now return the commit shown in that buffer.