Python collect routine

If a variable name is used which is not found in the
data files, then the Python collect routine will now
look for variations on the name:

o First checks for case mismatches e.g. "density" rather than
  "Density"

o Then checks for abbreviations e.g. "den" rather than "density".

In either case if the name is ambiguous then the possible
matches are printed and an exception is raised