this is needed because some UTF8 names didnt resolve on windows when using surrogateescape'd strings.
This meant you couldn't export to models some directories on windows.
- ID properties now suopport non utf-8 strings for their values but not their keys.
- moved utility functions into py_capi_utils.c from bpy_utils and bpy_rna.
- import/export paths have to be printed with repr() or %r, so non utf-8 chars are escaped.