Properly deal with FindUnitPathToRange

This fixes boats attacking land targets.
Replace DomainIndex implementation

Switch from Dictionary<CPos, int> to List<int>, improving both
performance and memory usage, recouping the losses in
66455c1013c1aba095eae217c06a3778135be898
Bounds tweaks and reorg

Don't allocate so much pointless memory in DomainIndex, and spin it off
into its own file.