Small improvements for file objects.

- `repr()` for file objects;
- Implement iterator protocol for file objects (#168);
- Fix a small bug in exception raising which caused the interpreter to crash when a non-existent file was opened.