Fix diff context restoring for diff opened directly via 'tig show'

The code that allows to jump to a line when opening a view from the
command line (e.g. `tig +10`) conflicted with diff context restoring
since it always restored using `view->env->lineno` regardless of whether
it was the view's first rendering or not. Furthermore, since diff_select
sets `view->env->lineno` this lead to strange line jumps.

The bug is fixed by using `view->prev_pos` for implementing `+<lineno>`
and ensuring that it only happens for the initial view rendering.