Set calling program to the empty string, when argv not in sys
Set calling program to the empty string, when argv not in sys

It might happen, then the sys module has no argv, when embeding IPython
into other programs with IPython.embed(). In that case, just set the
calling program to "" or other logic in IPython will crash - for
instance when checking for command line arguments.

ipython/ipython,ipython/ipython