fixed line_origin in Hunks

every line in a hunk has a origin like '+','-' or ' '.
refactoring Tree.diff() into seperate methods

* Tree.diff_to_tree()
* Tree.diff_to_workdir()
* Tree.diff-to_index()
docs: review, in progress
added reorder trees possibility for diff_to_tree()
docs: a little more
docs: a little more
Rename and review py_str_to_git_oid*
Fix compilation warnings
Supporting clone in pygit2
Explain what "latest libgit2" means better

pygit2 targets the master branch, and "latest" isn't well-defined in
this case, as libgit2's default branch is development.
Since I was PEP8-ing my tests, I decided to do it for the whole file.
Now __init__ is pep8-compliant
Documentation for the new clone method.

Even though I am aware that the comment lines in pygit2/__init__.py are longer than 79 characters, there's a reason for that.
If I break them, they'll show poorly in the documentation, and in my opinion better docs trump the 80 char requirement. If you think it's still better to have less than 80 characters in the comments, I'll gladly resubmit the changes at the expense of the documentation.
Fixing 80-column width for both the python and C code.
Missed a couple lines in the C code
Merge remote-tracking branch 'heynemann/master'
Add Repository pointer to Reference.

As asked in #221.
README: fix typo
Merge remote-tracking branch 'fraser/fix/typospotting'
Install notes, checkout from libgit2 master

Some older versions of Git do not support to clone and checkout from a
tag.