walk: make the sorting mode optional

Since the libgit2 has a default sorting method, which we also mention as
default in the documentation, there is no particular need to make the
user choose a sorting method when the order does not matter. We use
sorting NONE in that case.
Fixed `undefined symbol: PyLong_AsSize_t` on PyPy
test: clean up

Remove the temporary files and directories we create as part of running
the test suite.
object: implement peel()

This simplifies getting one type of object from a higher-level one as
well as accepting a commit-ish or tree-ish.
object: allow passing a type object to peel()

Allow usage of a python type instead of having to use the libgit2
constants.
Merge remote-tracking branch 'carlos/object-peel'
docs: clarify git-init recipe

Fixes #336
docs: document TreeBuilder.get

Fixes #302
make remote.c build with VS compiler 2008
Merge remote-tracking branch 'ahren/fixup_v0.20.2'
Added git_add_all
Moved git strarray conversion to utils
Some coding-style fixes, like not using tabs
fixed wrong return value
Silence a couple of valgrind warnings
added unit test
Merge remote-tracking branch 'rhodes/master'
diff: Fix for memory leak in git_patch
Introduce libgit2 options

Allow setting and getting the mwindow size and search paths.
Create proxy object for libgit2 options

pygit2.settings proxies though the lower-level varargs option() via
getters and setters which provide a more natural abstraction.
settings: python 3.3 compat

Python 3.3 doesn't like us overriding properties in __slots__, so set it
to an empty list.