Make user management more flexible

Previous system has 'interch' hard-coded within the
validation routine, requiring the entire validation routine be
subclassed to change the user (which also required pulling in
User::pwent to the subclass). Also required re-working the
validation routine if more than 1 user might be valid.

New setup allows just the list of users to be subclassed, similar
to adhoc_base_path and adhoc_ic_path. Further, assumes any number
of valid users to be possible. Doing nothing is fully backward
compatible with current setup, including any subclassed overrides.