hds-v5: Fix ndfcopy (ie primary/secondary locators)

- When locators are automatically annulled when a primary locator
  is annulled, the structs are not freed but are simply reset.
  This causes a leak but allows a secondary locator to be annulled
  separately later on.

- Primary locator count is now tracked across all open HDF5
  file identifiers. Previously each hdsOpen would result in a new
  file_id from HDF5 that would be tracked separately. Now that
  still happens but the primary count is handled properly. This
  prevents some critical locators from being freed too early
  in ndfcopy.