agent: Accept duplicated ports if no other option
Commit a04fa4d4 introduced a new feature to try to have a different port for every local candidate, even if they are on different interfaces. This breaks setups where the application really wants a specific port and sets a range of exactly 1 port or a very small range. In that case, if we can't find non-duplicated ports, then we just go around again and skip that check, but only if it's the same component as in that case, the confusion is tolerable. If it's not possible, then we go hard and fail the whole gathering exercise!
Fixes #113 (closed)