Moved gopass.GetPass calls/Fixed history bugs

gopass.GetPass calls now go via safeGetPass in the Repl, This ensures
that before GetPass does its horrid thing forking stty, we've dropped
control of the terminal and we restore it when we return. safeGetPass
can be refactored later to use an improved liner with password and
prompt support when written and we can lose getPass.
In the process, refactored the init/close routines, persisted app state
and fixed bug where Ctrl-C dropped new history