Make embed nestable

-save and restore InteractiveShell instance to allow nesting shells
-save local namespace sans ipy hidden variables and update namespace before exit
save and restore ps1/ps2
test embed() and nested embed calls, use pexpect since these tests are interactive
use ipython as base interpreter
-correct all remote process assertion checks with end of line anchor
-let pexpect be the judge of timeouts for banner prompt skip
-add test_nest_embed