Update the error message when an ambiguous channel is detected.
Give an error message like: Unable to map channel name 'X1:CHAN-1' to an single NDS 2 channel. Possible values include: <X1:CHAN-1 (256Hz, RAW, FLOAT32)> <X1:CHAN-1 (512Hz, RAW, FLOAT32)>
Which spells out where we are confused so that the user knows what is going on.
This also does a bit of a rewrite of the error messages in general where channel selection is involved.
This commit reworks the channel selection, makes the code more consistent and adds a generic algorithm to the common/utils to back port C++17's adjacent_find
Fixes #73 (closed)