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
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
Merge remote-tracking branch 'cholin/features/memory_leaks'
added note support

* Repository.create_note()
* Repository.lookup_note()
* Repository.notes() - generator
added notes in testreop
added tests for notes
remove needless tp_getattro entries
use PyObject_New() for object instanziation
Use basic types for objects and grouped types into groups
use utils helper macros/functions through the whole lib

* use to_unicode()/to_unicode_n() for creation of unicode strings
* main support switch to python3 instead of python2 (provide defines for python2)