Directory auto-complete.

Starting with an empty `var ret []string` and using `append` to add items is simpler here than indexing etc. It might be cleaner to use `filepath.Glob` here as well, where the user types `foo/bar/ba`, we run `filepath.Glob("foo/bar/ba*")` (perhaps after expanding tilde) and only get back the matching paths.