Avoid explicitly testing for `str` when opening an IDF
Avoid explicitly testing for `str` when opening an IDF

Instead this uses a try/except block and catches the type error. This
pattern is py2 / py3 compliant (and the original py2 test should have
been against `basestring`).
santoshphilip/eppy,eayoungs/eppy,santoshphilip/eppy,eayoungs/eppy,jamiebull1/eppy,jamiebull1/eppy,jamiebull1/eppy,eayoungs/eppy,santoshphilip/eppy