Use custom IOException instead of Symfony one
Add a TemporaryFilesystemInterface
Add optional directory prefix on temporary directory creation
Add PHPUnit as dev dependency
Add temporary files manager