refactor and fix tab completion

The following changes to Smuxi have been done in this branch:

1. Move tab completion logic into _Frontend_ (common to all frontends).
2. Fix irssi completion to cycle through matches if Tab is pressed repeatedly.

Comments are welcome!