FIX: Cascading selections

Method select from class pset.selector.cascade was calling
select internally multiple times. This was obviously wrong
because, from the API point of view the user was calling
select() only once, and therefore he/she would call
restore_selection() also only once. As a result, some selections
would not be completely restored after calling restore_selection().
This has been fixed by adding an extra argument (remember) to
method select() so that cascade selections store a single entry
in the selection history, and therefore can be undone by a single
call to restore_selection()