jira: config: Rename base_url to server_url

And add proper validation to JIRA credentials.

Change-Id: f3ec76b888
Story-Id: SF-96
modules: Change CheckReleasable to Releasable

Change RunningRelease.CheckReleasable to just Releasable, which is no
longer returning any stories, it just returns a boolean saying whether
the release is releasable.

Change-Id: dc2ac5775c
Story-Id: SF-78
deps: Update gocli to v2

Change-Id: da5f7d391e
Story-Id: SF-99
flag: Fix error message

No need to mention the value, the stdlib flag package does that already.

Change-Id: 86bcd5d344
Story-Id: SF-99
shell: Add shortcut for exec.Command

Change-Id: 5c444029a5
Story-Id: SF-99
git: Delete config.go that was forgotten there

No need for this file any more, the config has been rewritten so that
everything is now configurable in the config file.

Change-Id: c15ca09c8d
Story-Id: SF-99
config: Change local config structure

To make it possible to bootstrap a repository, the custom scripts paths
are from now defined by SalsaFlow, relative to the repository root. This
also means that the relevant local configuration section is no longer
needed.

The new local configuration structure is:

  .salsaflow/
    config.yml
    scripts/
      get_version
      set_version
      ...

Also to make it possible to write scripts that would work across
platforms, a platform suffix can be attached to the script file. For
example, set_version_windows is being used on Windows, set_version_unix
on other operating systems. Naturally, if no platform suffix is
supplied, the same script file is used on all platforms.

Change-Id: 521fca8971
Story-Id: SF-99
Add a new command: repo bootstrap

This command can be used to generate initial configuration file in the
current repository so that the project can get up to speed with
SalsaFlow quickly.

This basically means that the local configuration file is generated
based on the flags specified. The user then has to check the files and
fill in the missing information.

It is also possible now to use so-called skeletons, which are userful
particularly for custom scripts. Telling repo bootstrap to use
'salsaflow/skeleton-golang' will make SalsaFlow clone the given
repository from GitHub and it will pour the content of the default
branch into .salsaflow directory of the repository. For now it only
makes sense to have the scripts directory there and use the given
skeleton to share these scripts across the same project types.

Change-Id: 05dd968d1a
Story-Id: SF-99
SalsaFlow: Update the local configuration

Change the local configuration files to keep up with the scripts and
bootstrap changes.

Change-Id: 8078f40c3c
Story-Id: SF-99
Update SalsaFlow custom scripts

Story-Id: SF-99
Change-Id: 6c17d50f20
prompt: Fix review issues

Change a prompt message.

Change-Id: 714269838d
Story-Id: SF-91
hooks/pre-commit: Fix review issues

Rename checkTags to salsaflowCommitsDetected.

Change-Id: 9540ac3320
Story-Id: SF-89
scripts: Improve error message

Tell the user what branch was active when the error occured.

Change-Id: d07a7daf18
Story-Id: SF-88
Fix release/story changes

These commands were buggy and mostly not working properly due to a few major
flaws in the implementation coming from not understanding git enough.

This patch makes sure the changes commands work properly. The patch is rather
scattered across the code base because the fixes and changes just implied
further changes in the code base. The end result should be, though, that the
release changes and story changes commands work properly now.

Change-Id: 048b5cc7f2
Story-Id: SF-88
reviewboard: Fix rbt version check

rbt 0.5.x is printing the version string to stdout while 0.6.x to stderr.
SalsaFlow didn't know about this change and it was always parsing stderr.
That is fixed now.

Story-Id: SF-11
Change-Id: 69b1927a68
wip [ci skip]

Change-Id: aa5dc14c67