Catch IOError and ignore if OS X companion file

@dmitchell @chrisndodge 

Chris added a similar try-except block elsewhere in this file, but this call to `open` was also giving trouble for more or less the same reason. I moved the `open` up since we wait to `continue` before doing anything else.

Most of the function is wrapped in another `try` (ln. 31) - `except` (ln. 69) that I didn't change, but has been bugging me. It just catches anything and re-raises it. Since I might be missing something, I didn't change it, but if two other pairs of eyes say it can go, I'll do that too.