Basic completion backend
Initial completion support
Complete '-' to '--' instead of '-- '
Add `completion install` and `completion uninstall`