Add completion for knife user commands

These commands were added in Chef 11.0.0.
Use message instead of guard

Use _message instead of _guard when completing the search pattern.
_port: add upgrade completions

Port upgrade completes only outdated ports.
Remove unnecessary parenthesis escaping
Set cache-policy before calling _arguments
Do not use state mechanism

Call a dispatch function instead, simplifying the nested select case.