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'
don't require package.el for compilation

Since older Emacsen don't have it and this is
only used to suppress compile warnings anyway.
magit-process-password-prompt: support yubikeys
magit-compat.el: whitespace
magit.el: cleanup dependency declaration
magit.el: remove Version keyword
magit-manual-merge: correct doc-string

Also correct indendation.
magit-key-mode-popup-merging: add --no-commit
magit-version.el: properly terminate local vars list

Actually this change is in the Makefile which generates this file.
Makefile: add magit-flow.el to ELS
support aborting a merge action

Suggested-By: Grégoire Jadi <gregoire.jadi@gmail.com>
Revert "magit-key-mode-popup-merging: add --no-commit"

This reverts commit 2d6f9ffca9bc18d4da23e40a522c336d8ad53f60.

Unfortunatly that isn't enough. The various `magit-*-merge'
should be merged into one.
magit-revert-item: replace misleading comment
add magit-run-git*

This new wrapper around `magit-run*' allows removing code
duplicated in the various `magit-run-git..' functions and
other functions.  It behaves like `magit-run*' except that
it also takes care of prepending the `magit-git-executable'
and `magit-git-standard-options'.
magit-git-standard-options: is no longer customizable

`magit-git-standard-options' is now a regular variable not a
customizable option.  It should not be changed by users; it
being a customizable option is asking for trouble.
add magit-run-git-async-with-input

This replaces `magit-run-async-with-input'.