Introduce a parseInteractive() method that works otherwise as
parseFromStdin(), except that the caller can provide alternative
streams for input and status output. Make all input and output use
these streams instead of stdin or stderr directly. Unit tests using
this will be added separately.
There is slight regression in the formatting of errors during
interactive selection input (noted in TODO in exceptions.cpp), but that
will be resolved separately to keep the commits smaller.
Change-Id: I0b6b885621c81a5e526b5f93b40d32b9248626f1