Update to changes in libgit2 concerning refs

Two methods have been drop:

- Repository.packall_references
- Reference.reload

The unit tests have been commented until we wrap the new reference
database from libgit2.
pep8 fixes for setup.py

as reported by flake8
syntax highlighting for shell commands in sphinx
the extension compiles to _pygit2.so, so ignore that too
fixed compiler warnings
added valgrind python suppression file

To start a valgrind memory check use the following command:
  valgrind -v --leak-check=full --suppressions=misc/valgrind-python.supp python -E -tt ./setup.py test

If your python installation is not compiled with valgrind option, you get as well tons of false-positive leaks
in valgrind. Just check for git_* function the the output. Have in my that circular memory dependencies can
 not easily be found with this approach.
added missing remote header file and fixed instance creation
fixing several memory leaks in pygit2

* fixed several ref counter issues
* us Py_CLEAR through the whole lib
* refactorization
  * Config does not need Repository pointer
    -> No need for cyclic garbage collecter support
diff refactorization