Make embed nestable

-save and restore InteractiveShellEmbed instance to allow nesting shells
-save local namespace sans ipy hidden variables and update namespace before exit