Move parsing of git objects to IO

Move all parsing of raw data to gihp\IO\File.

#Why make this change?

It will make integrating gihp upper libraries more agnostic about the storage format.

E.g.: It will be possible to store commit data in a database and take advantage of the strengths of relational databases.

#Alternatives

* Keep as is, don't support other formats
* Add extra abstraction layer for storage formats (possibly slower, but more flexible)