Unicode fixes

Fixes several cases of UnicodeDecodeError when using non-ascii characters in the plugin, and replaces `eval` with json.loads.

json.loads doesn't breaks stuff when using unicode everywhere and it is encoded/decoded properly. See http://wiki.xbmc.org/index.php?title=Add-on_unicode_paths for info on how unicode should be handled in xbmc addons.

This is based off #4