Address ambiguity in -matchdesc calls.

Adds the `-matchdescstart` option as described in #314. Also throws an error if trying to retrieve a value by description matching would result in ambiguity (multiple possible results).
Some tests had to be adjusted as they ignored the ambiguous behaviour. Closes #314.

Disclaimer: calculating whether to show an error message or not could lead to decreased average case performance when accessing sequences via `-matchdesc`/`-matchdescstart` because we cannot just stop and return after finding the first match.