Closes #9311 Handles container id/name collisions against daemon functionalities according to #8069

Changes truncindex package to properly report when multiple results were found with a given prefix

Modifies Daemon Get method according to the discussion in #8069

Fixes references to Daemon Get throughout. Mostly just ignoring the error message that is now returned, but replacing redundant logic where applicable. These clean-ups could have been more pervasive but I believe they will be easier to carry out once Docker has some notion of error lists defined to replace all of the hard-coded error messages.
This is absolutely not necessary, because this is `daemon.ErrNotFound`. And making errors with `%s` is something which shouldn't be used. Now, instead of `fmt.Errorf("No such container: %s", c)` you need to write `fmt.Sprintf(ErrNotFound.Error(), c)`, and it is only in two places, so you saved TWO symbols at the expense of having very strange line here. At least this should be just string, not error.