Backport PR
#4008: Transform code before %prun/%%prun runs...
Backport PR
#4008: Transform code before %prun/%%prun runs
This makes it so that prun works with IPython-specific syntax (e.g., `%prun %logon`). This mirrors the change @fperez made in commit
3ac024c8b39300055bd515e9d88186049a30cdbe for the timeit magic.