Commands returns up to three likely command-name suggestions for the provided
input, ranked by prefix relationship, then whole hyphen-component
containment, then edit distance. It is intentionally conservative: if we
aren't reasonably confident, it returns nil.