big break-everything refactor on shore vectors where all data is wrapped behind ShoreData structs that are switched as required
- all queries have to be made positionally or directly on the relevant ShoreData map
- most query methods now passthrough to the correct dataset, some are hardcoded to Mainland data for some questionale pre-existing usage
- refactored ShoreVectorQueryStructure to use the ShoreData structs and handle switching between them internally in jobs