Some minor improvements to _diff_tree.c:

- Simplify string handling
- Use PyErr_NoMemory()
Fix unnecessary incref of Py_False.
Graftpoint Tests

https://git.wiki.kernel.org/index.php/GraftPoint

GraftPoints are Commits that have their parents "rewritten"

To support graftpoints:

1) Repos must be able to manage its own graftpoints
2) Repos must be able to use graphwalkers that know how to use
graftpoints
parse and serialize graftpoints
Walker uses Repo.get_parents
Update NEWS
No need to parse grafts on file creation
Simplify get_parents
graftpoints are required to parse/serialize
remove extraneous repo.serialize
Add missing docstring.
Make graftpoints methods private for the moment.
Fix typo in commit_tree command.
Add porcelain for 'dulwich rev-list'.