Set COLUMNS env variable after vertical split calculation

This fixes diffstats to be no larger that then width of the view even
when splitting the display vertically.
Fix blame opening from (un)staged changes diff view

When showing the diff of staged or unstaged changes commit opened from
the main view, the commit ID is the magic all-zero SHA (00000...)  which
caused git-blame to choke. Detect this so that blame can be opened even
from these diff views.