repo init: Trigger init on version change

Right now repo init used a boolean flag to mark the repository as initialised.
This is not sufficient in case of a SalsaFlow upgrade, because the repository
will remain being marked as initilised while it can be necessary to run repo
init again.

So, from now on it is not a boolean flag that is marking the repository as
initialised, it is the version string. This can be easily used to detect whether
we need to run repo init again or not.

The hooks that are installed as part of the repo init process were also improved
to print the SalsaFlow version they are associated with. Every hook can be run
with -salsaflow.version flag and it will just print the version string and exit.

Change-Id: 0b335d00fb
Story-Id: SF-69
Rename app.MustInit to app.InitOrDie

Change-Id: a682c99903
wip [ci skip]

Change-Id: 442c934e03