I thought it would be better to not break backward compatibility.  As it is a user facing function (i.e., magic function), someone might be using it for writing their own magic function.  But I would refactor and add `_run_with_profiler` if you think it is OK.  I think we can get rid of the else clause as I think it is not used in IPython.

FYI, you can see the parameter spec in the documentation:
http://ipython.org/ipython-doc/dev/api/generated/IPython.core.magics.execution.html#IPython.core.magics.execution.ExecutionMagics.prun