magit-key-mode-build-exec-point-alist: move definition
magit-key-mode-redraw: fix indentation, line length
magit-key-mode.el: add section headings
magit-key-mode.el: move defvars into appropriate sections

This might be somewhat controversial, but it (along with adding the
section headings in an earlier commit) will help me to reason about
the existing code, while working on a new implementation.  Also
defvars weren't consistently at the beginning of the Code section
anyway.
rename magit-key-mode-{ key-maps => keymaps }

For consistency with how this is written everywhere else:)
rename magit-{ log => pre-key }-mode-window-conf
define magit-set-variable-and-refresh only once

This maintains the capability to skip refreshing
buffers when there is nothing to be refreshed yet.
removed unused variable magit-ediff-file
add `magit-' prefix to `escape-branch-name'
move definition of magit-buffer-switch and magit-quit-window

`magit-quit-window' was defined in the wrong place because it was at
come point only used for branch manager.  Now that it is used for all
Magit buffers it does not make sense to keep it in the branch section.

`magit-buffer-switch' was defined in the wrong place from the very
start.
move magit-server-running-p into compat section
move magit-bug-report out of sight

Move magit-bug-report and related variables in to Miscellaneous section
close to eof.  This isn't something many causual readers will ever have
to see.  Also the old location was rather arbitrary.
cleanup magit-bug-report and related variables
magit.el: change and add section headings

For every key-mode popup command there is now a corresponding section by
the same name.  These headings consist of one word ending with "-ing".

There are a few other sections ending with "-ing" (Rebasing, Resetting,
Diffing, and Grepping) but at least for some of these we might actually
want to create new key-mode popup commands.

I would like to eventually put all "-ing" sections under a common super
section but that is currently not possible because a few other sections
are mixed inbetween that aren't related to key-mode popups.

For some other sections it would also make sense for them to be nested
below another section.  Again it is not reasonable to do this now
because these sections are not next to each other.

A few of the new sections (ChangeLog, Extensions, Interactive Rebase,
and Interactive Resolve) contain but one or two functions.  In case of
ChangeLog the reason is that its function is missplaced.  In the other
cases this is because the were part of the Miscellaneous section which
also contained other things that should be defined in top-level
sections.
Merge branch 'maint'
magit.el: change and add more section headings
magit-tests.el: merge version from master
magit-tests.el: fix and cleanup

We had serious problems running tests on travis.  This commit addresses
these issues and also makes the tests much more readable.

One test was removed in the process.  But as far as I can tell that test
ended up testing functions from Emacs not Magit.  After that removal one
test remained which requires library `mocker'.  It is rewritten to
simply use `flet'.  We don't need mocker anymore.
README.md: small change
.travis.yml: don't us virtualenv-emacs; don't test contrib

No longer use virtualenv-emacs.  Library `mocker' is not required
anymore, `cl-lib' was not used, and it's trivial to get `ert' using
curl.

No longer build and test the libraries in contrib/, they will be moved
to separate repositories.

Also cleanup.