Complete file arguments with magic %run

This is a pull request for the  Issue #3459 I want to discuss about.

This is not perfect:

`run script.py path1/file1 <tab>`

Will suggest  `path1/file1` in addition to only list files in the current directory.
This is because I do not know how to know if the last argument is already completed or not.

Tests also need to be added.