proper FileNotFoundError, pathlib support #308
Python's FileNotFoundError is for non-existent directories and files.
Moreover, as of Python 3.3, IOError has been merged into OSError, and may eventually be deprecated.
It was very surprising to me to have IOError raised for a missing file or directory, as every other module I've used uses the appropriate FileNotFoundError.
Additionally, added pathlib support, which is Python standard library since Python 3.5.