Add a dynamic completer for `tags`.
Queries tag information from:
- the keys of the computed/static tags (inventory tags)
- the services tags
- the machines tags
In recent nix versions the `nix flake show` command busts the eval
cache, which made the function that used to be faster, slower.
On benchmarks the completion was around 180-200ms.
Add dynamic completion scaffolding to the clan `cli`.
Also add a dynamic completion mechanism for machines for commands that
have machines as their sole argument.
More intricate dynamic completions will be implemented in follow up
PR's.