replace variant header names, controlled values with official terms

Somewhere along the line bad header names and values for
controlled-vocab fields have crept in to the spreadsheets.

This change adds dicts of variant terms that are used to build
indexes.  These indexes are used to replace variant terms with
the official ones.  The user can add to the variant term dicts
as they come across them.
functions for loading entities and testing files before import

These attempt to load Entities and test for file presence and
readability before starting an import.  Hopefully this prevents
long imports getting interrupted and having to be restarted.