Implement tab-completion, closes #16.