unicode support for string type checks, fixes #929

```str``` comparisons cause exceptions with unrelated error messages when using e.g. unicode port names (see #929 for concrete example).

I just ran ```for f in `grep -rle "isinstance([^)]*str)" .`; do sed -i.old "s/isinstance(\([^)]*\)str)/isinstance(\1basestring)/g" $f; done``` in the nipype directory. Let's see what Travis says...