Updated handling of TERR and PRSH records so top-level territories are distinguishable and all parishes are marked as direct children of their primary country.  Added unit tests to verify updated get[Parent]AncestryKey() and new isTopLevelTerritory() methods on GeoName.
Modified GeoName so it accepts an indirect parent, so long as that parent is an ancestor of the GeoName.
Added gazetteer record to GeoName and method to retrieve the set of gazetteer records for a GeoName and its ancestors for storage in the search index.  Updated parseFromGeoNamesRecord() so it reads the target GeoName and any of its ancestors that are found in the input record (\n separated).  Added AncestryIndexBuilder, a WIP for identifying GeoName ancestry and waiting until ancestry is resolved before adding records to the index.