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.


This line is modified, too.
Original:
```else if (objType == GIT_OBJ_TREE) // TODO: get blob from tree?```
(might be a bug if object type is tag or something else, see line 327 of ext\tgit\cache.h)