Handle Unicode filenames in a git tree correctly.

Correctly save and retrieve files state and meta in a Git tree.
With the old code, path names with Unicode characters in them, were saved incorrectly in the tree `dict`, because git outputs these names in a different format.
Also, when retrieving them, we need to convert the key to `utf8`, since it is the encoding python uses to store the `dict` key string.
Before this update, all filenames with international characters showed up as `_vc.STATE_NORMAL`, since their path never matched the tree `dict` keys.
This update should have zero effect on filename with no international characters.