Improved autocomplete

The autocomplete now includes commands in addition to paths and
options.

I was hoping to improve this to support `full/path/au<tab>/completion` however the `readline_info` command does not return the current line buffer as documented (it returns the last line). Without this I can only retrieve the last segment of the line buffer (e.g. `completion`).

I notice also that Symfony uses the same method that I tried to use, and that also does not work.

I wonder if I could do something closer to the metal, e.g. [like this pr](https://github.com/symfony/symfony/pull/6391/files) but for the minute this is OK.