changing FileNotFoundError to IOError, for python 3.2 compatibility, and use of multimarker in rbtree

as in http://docs.python.org/3/library/exceptions.html FileNotFoundError is python 3.3+, IOError is kept as backwards compatible alias for OSError, more robust fix (checking the sys.version_info and using appropriate exception names would be better but requires more work)