improve version detection and build process

* Add new function `magit-version' which is called when loading
  `magit.el' and sets the value of variable `magit-version'.

* Use function `magit-version' in the `Makefile' instead of the old
  messy code used to set the version.

* Improve the `Makefile'.  It doesn't modify itself anymore.  Contains a
  `help' target. etc.  Generally it is much cleaner now.

* Fix and improve `tests/magit-tests.el'.  It now even works when travis
  is under high load.

* Remove `tests/run-tests.el'.  Use `make test'.  Interactive tests will
  come back as a separate make target.

* Remove `magit-pkg.el.in'.  Instead generate `magit-pkg.el' only when
  creating the marmalade tarball.  Elsewhere that file is not
  needed (including melpa).

* Remove `magit.spec.in'.  It is neither used by its original author nor
  the Fedora distribution (anymore).  This file has to be removed
  because it depends on the name of the loaddefs file being `50magit.el'
  and insists on installing it below `/etc`.  That isn't correct for
  many distributions and certainly not when installing Magit manually.
  Once this issues were addressed the spec file did not work anymore.

* Cleanup `.gitignore', `.travis.yml' and `README.md'

* Adapt `INSTALL.md' to above changes.

PS:

* I tried splitting this up into multiple commits but did not succeed.

* We now need a special branch for Melpa.  I will talk to the Melpa
  maintainers to see what can be done about this.