Added protection for non-ascii identifiers

When processing the OAI header, there is a call to str() to ensure that the
identifier field is converted to a string. However, when the indentifier
contains non-ascii characters a UnicodeEncodeError was being thrown. Since
this was being thrown in the record iteration, it was not possible to handle
this exception in client code.

This commit catches that exception and calls unicode() instead. I could have
used unicode() in the ordinary case, but didn't know whether this would cause
problems in the rest of the library.
Merge pull request #1 from ccare/master

Added protection for identifiers containing unicode characters