Better handling of fdi.core/scan options

Ensure that bad values don't get into fdi.core/scan, either by
command line or direct invocation.  Hard-coded defaults now take
the place of missing values.

Also adjust fdi/FDI.java to deal with the case when the tolerance
is zero: that's a fast-case that can be deal with by Arrays.equals.