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