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.
cleanup library headers
cleanup doc-strings
update authorship information

The copyright notices have not been updated in a very long time.  By now
so many people have contributed that it is not feasible anymore to have
a Copyright line in `magit.el' for everyone.  Now only people who have
made a fair amount of contributions are listed there.  These lines are
sorted by appearance.

Right below the now shorter Copyright list is a new link to the list of
all contributors on github.

The header keyword "Original Author" is replaced by just "Author",
that's how it is commonly done.  All keywords no longer contain
whitespace, but use a dash instead.

Both Phil Jackson and Peter J Weisberg are now listed as former
maintainers.  Peter has been removed from the list of active maintainers
as he hasn't done much lately.  Nicolas Dudebout and I are added to the
list active maintainers.  That list is sorted by activity.

Appropriate Copyright lines and Author keywords are added to files
besides `magit.el' (partly this is done in an earlier commit).

In `magit-svn.el' and `magit-blame.el' several people have already been
listed that have not made a single commit to those file.  I assume this
is because these files have been ported from other packages and therefor
did not remove anyone.

I have added myself as Author of `magit-wip.el' even though Ryan
C. Thompson wrote the first version, because his version was barely
usable.

If you are unhappy about a change please contact me.
remove bin/authors.pl and bin/mk_rel.bash

`bin/authors.pl' isn't useful anymore since we stopped having a
Copyright line for everyone who ever changed anything.

I am preparing to create a release but cannot see myself using
`bin/mk_rel.bash`, so I am removing that too.
move script contrib/magit to bin/magit

This should make it more obvious to people who run Magit directly from
the git repository that they can add this directory to $PATH.

Until recently `bin/` contained maintenance scripts.  I hope we won't
have to add similar scripts in the future.  It should be possible to do
these things in the `Makefile' instead; provided we really need them.
remove contrib/magit-classic-theme.el

I very much doubt that anybody is using this because it is very
incomplete.  If you do use it please contact me.

The removal is done with the okay of the original author of this
file.
merge magit-indentation-for into its only caller

Also make it more functional.
merge magit-write-file-lines into its only caller
move definition of magit-commit-at-point

There was no connection to the surrounding code.
Also make it more functional.
remove unused variables magit-wazzup-{head,all-p}

There *intended* purpose is already covered by `magit-mode-init' setting
`magit-refresh-args', like for other modes derived from `magit-mode'.
rename magit-{filename => magit-file-relative-name}

Rename `magit-filename' to `magit-file-relative-name' because it is
similar to built-in `file-relative-name'.  Also move its definition.
add forgotten Merging section heading
set stage for next few commits

Split the Utilities section into various subsections.  Because it is
highly disorganized this results in some sections appearing mupltiple
times.  These are the section headings:

;;; Utilities
;;;; Minibuffer Inpup
;;;; Various Utilities (I)
;;;; String Manipulation
;;;; Git Config
;;;; Read Repository   (I)
;;;; Git Low-Level     (I)
;;;; Read Repository   (II)
;;;; Git Low-Level     (II)
;;;; Read Repository   (III)
;;;; Git Low-Level     (III)
;;;; Various Utilities (II)
;;;; Git Low-Level     (IV)
;;;; Various Utilities (III)

Clearly something has to be done about this.
collect magit-read-top-dir and its support fns in one place

Move `magit-read-top-dir' and the support functions (which it uses
exclusively) into new subsection "Read Repository".

That section is located in section "Status Mode" not "Utilities" even
though the code was previously located there.  I considered moving it
into the new "Minibuffer Input" subsection of "Utilities" instead but
because `magit-read-top-dir' is used by `magit-status' only decided
against it.  Also the "Minibuffer Input" section contains no other
`magit-read-SOMETHING' functions, these functions are all defined in
the sections containing the code that uses them (most).

I would also like to note that these functions are fairly obfuscated
and need to be improved at some point.

Also see f49fd99eee294ed6e0e0308b8c69c7e605337d52
which sets the stage for this and other commits.
just one "Git Low-Level" subsection

Move some trivial functions so that that the definitions that belong
into the "Git Low-Level" subsection of "Utilities" don't alternate with
those that belong into the "Various Utilities" subsection.

Also see f49fd99eee294ed6e0e0308b8c69c7e605337d52
which sets the stage for this and other commits.
just one "Various Utilities" subsection

Move some trivial functions so that all functions in the "Utilities"
section that do not belong into one of the more specialized subsections
are in one place: the "Various Utilities" subsection.

Also see f49fd99eee294ed6e0e0308b8c69c7e605337d52
which sets the stage for this and other commits.