Fix monkey-patched os.open(): add dir_fd parameter

The os.open() function got a new option keyword-only dir_fd parameter in
Python 3.3:
https://docs.python.org/3/library/os.html#os.open

With this change, the open() now accepts the dir_fd parameter.
Fix monkey_patch() on Python 3

The importlib module must use real thread locks, not eventlet.Semaphore.