Make embed nestable

-save and restore InteractiveShellEmbed instance to allow nesting shells
-save local namespace sans ipy hidden variables and update namespace before exit
This test will need to be decorated with `IPython.testing.decorators.skip_win32`, and moving the `pexpect` import into the test function (or wrapping in try/except at the top).