Fix Issue #2003 and Update Doc

The first commit(Update libgit2) is NOT related to [Issue #2003](https://code.google.com/p/tortoisegit/issues/detail?id=2003).
I just want to update libgit2 first, because it fixes mixed EOL problem and makes the mixed EOL behavior is identical with official git.
(There is a [commit of libgit2](https://github.com/libgit2/libgit2/commit/d412165f948b77bf548234fd46fb0743f6afc3ed) fixes further EOL problem, but maybe update it later. It is related to Git for Windows 1.9.4)

The rest is trying to fix [Issue #2003](https://code.google.com/p/tortoisegit/issues/detail?id=2003) via 
 1. extending the GetOneFile()  to support blob hash as RefName
 2. and using new command "getonefile" to get file with correct EOL.


Oops~ No.
I don't notice it.
Wait...
Is it --textconv?
Ok, Let me try it.
----
for commit:
git.exe cat-file --textconv <commit-sha1>:"Test.txt"
=> still LF (bug?)

for blob
git.exe cat-file --textconv :"Test.txt"
=> still LF and get wrong versioned file, because the default <treelish> points to the current index.