Make embed nestable

-save and restore InteractiveShellEmbed instance to allow nesting shells
-save local namespace sans ipy hidden variables and update namespace before exit
can you restore the original `test_embed`, and just add the new test here?