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.
Sorry for my general PR comment earlier--I see you aren't adding any locking, you simply refactored the locking to the point at which it is required so the quick return case doesn't acquire the lock unecessarily.