Add ability to squash commits directly from the history view.

This adds a new menu item Modify > Squash to the context menu
of the history view. It can be used to squash multiple (contiguous)
selected commits into one, prompting for a commit message as well.

An error will be displayed if the selected commits cannot be reached
from the current HEAD commit. This is done so as to avoid the need
to checkout another commit automatically before executing the squash
procedure.

The "Modify" sub-menu is chosen so that new menu items (such as
"Reword" or "Edit") can be added to it rather than the history
context menu directly.

Change-Id: Ib725899074282027d7542c2ac8bc2c5a9a01da72
Signed-off-by: Maik Schreiber <blizzy@blizzy.de>