changes to opentest branch only.
changed production sites, characters, sectors, promises, chambers, advisor titles, factions, pdf units, battles, and conflicts unique IDs to ints instead of strings since these don't have meaningful names or need to be used for localisation.
changes some scripting behind the scenes code to work with int IDs more efficiently.
made production items use int IDs at runtime while using string IDs with meaningful names in data and save files and also still available at runtime when specifically needed. this should improve performance because pg requires lots of dictionary accesses during day tick over and an int is more performance for access than string with long meaningful names. for now its likely that save files may have issues from not everything saving the strings.
significant code refactoring. this took most of the work.
fixed various bugs found during refactor.
now pre-calculates item tags' modifiers instead of calculating every day, since it only cares about planet types that are only set on load anyway.