Greatly simplify determining the Firebird ISQL client.

All the other engines simply assume an executable in the path. That's what we
do here, too, but since the executable often has different names, we search
for each until we find a likely candidate. Use File::Which if it's available;
otherwise just search through the path.

Ref #122.