The behaviour of $tab sole-effects lacked a 'tab' key, so Soto wasn't
catching or writing them to the screen. This commit amends both the
handler and the sole-effect to fix that behaviour.
Our mark definitions for sole actions and effects pre-date our tab
completion work. This commit adds tab completion actions and
effects to the definition, so they can be sent and received as JSON.