modern shell...
selection-menu: allow multiple line entries

This makes the interface entirely list item based not
line based: in particular items can now be multiple lines.
selection-menu: separate displayed string and return value

This allows the caller to pass a list for each item: if an item is a
list the first element is the value to return if that item is
selected, the second element is the string to display for that item.
selection-menu: allow keybindings for menu entries

This allows a third element in an item's list. This element is
a list of keys that should select that item immediately.
selection-menu: add some tests for new functionality
Recognise Mark's contributions