Automatize version manipulation and releases

This adds couple of new commands to the Makefile.

The most important commands now are:

- make tarball
  gets the current version from git and creates
  a tarball with the sources

- make rpm
  creates a tarball and makes an rpm out of it

- make release
  checks if the sources are clean
  bumps version (base is taken from git)
  builds and tests everything
  checks for changelog message
  commits and tags the version bump

- make test
  starts the test suite

The version is computed as follows:

- the base is the content of the latest reachable
  tag in the format X.Y.Z*
- if the latest commit is not the one with the tag
  then a devel suffix is added in the following form:
  .0.<number of commits since last tag>.<commit hash>

So the versions we can get with this look like this:

0.1.4
0.1.3.0.4.g5098423

The rest of the new makefile commands are not supposed
to be used manually although they will work.

Change-Id: I82fb8e250991a9594f0186531f21317a81cbdd30
Signed-off-by: Martin Sivak <mars@montik.net>