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.
I think this is the only `case` that doesn't make sense to me: given a container named **db**, this says I can't reach it on exact name match *iff* I happen to have more than one container whose full index starts with the prefix **db..**.  The named exact match **db** needs to be returned as the correct container even if many other containers happen to have a `'container.ID` which begins **db..**.

Another option for correction of this issue is by refusing to do index match on anything less than 5 characters, given the wordmap @ewindisch pointed to that shows the likelihood of naming a container something "English-understandable" that matches a hex string becomes quite unlikely after 3-4 chars.