I'm really not a python specialist, but I think the errors are due to the fact that unicode is forced on the self.log lines ("u").
I don't know if, e.g. self.xbmcvfs.mkdir(self.path), would still work on a "decoded" string, which probably is unicode and not utf8.