Refactoring Native

Hi @ktoso,
I had some time to refactor a lot of the native git stuff.
I would suggest that you have a look at this, when you have some time.

There is a possible critical issue in NativeGitProvider:LN144 which should be investigated.

As usual comments or improvements are welcome :)