shell: Change the signature of Run

Change-Id: a4a0d8c6ab
Story-Id: SF-63
version: Make operations configurable

From now on it is not needed to just use package.json for all projects
that want to use SalsaFlow. Actually, custom scripts to handle version
string manipulation must be specified in the local config file.

The GET operation is configurable through scripts.get_version key in the
local config file. The value must be a relative path from the repository
root. The script found on this path is executed in the repository root
and it is expected to print the version string to stdout.

The SET operation is configurable through scripts.set_version key in the
local config file. The value must be a relative path from the repository
root. The script found on this path is executed in the repository root
and it receives the version string to be set as the first argument. It
is then expected to write the version string to all the files where it
is needed.

The scripts can, naturally, print errors to stderr and return a non-zero
exit status to signal a failure.

Change-Id: 956fd3f744
Story-Id: SF-63
version command: Change and extend the behaviour

The version command can be from now used to test the custom scripts
handling versions. 'salsaflow version' will invoke the get_version
script and print the output. 'salsaflow version bump VERSION' can be
used to invoke the set_version script with VERSION as an argument.

The original 'salsaflow version' behaviour, i.e. to print the SalsaFlow
version and exit, has been moved to 'salsaflow -version'.

Change-Id: b6f2e363f0
Story-Id: SF-63
Make SalsaFlow compatible with the version scripts

Update the project itself to be up to date with the changes.

Change-Id: 546bacaac9
Story-Id: SF-63
wip [ci skip]

Change-Id: fc4dd6539d