magit-rev-diff-count: use cl- prefixed functions
magit-compat.el: test for correct function
fix 5633708
add option magit-rigid-key-bindings, replacing magit-simple-keys.el
tests/magit-tests.el: quiet byte-compiler

We need `flet' from `cl'.  The new `cl-flet' is mostly useless.
remove contrib/magit-inotify.el

This library is deprecated in favor of magit-filenotify.el
which is available separately.
improve version detection and build process

* Add new function `magit-version' which is called late 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.

* When Magit is installed using Melpa `magit-version' still reports the
  "melpa time-stamp" as version, not the `git describe --tags' version.
Merge branch 'better-build'