Factor out the CVec direction list.
Initial terrain domain work
Properly deal with FindUnitPathToRange

This fixes boats attacking land targets.
Use MobileInfo.GetMovementClass for domain indexing, clearing path for caching and smarter behavior
 * Move DomainIndex from being a manual hard-coded hook in World to an IWorldLoaded trait.
Add support for bridge construction

Each movement class is given a crude transientDomain graph.  Whenever a bridge state
changes, the domain index rebuilds the relevant cells, setting its domain and creating
a transient domain connection.

This graph is searched as a fallback if the straightforward domain comparison is false.
Behavior needs to be double-checked, and ideally destructing connections would be supported,
but so far performance and behavior on allies-02 seems good.
Substantial performance improvement in DomainIndex
      * Get rid of HashSets
      * Cache CanTraverseTile()'s terrain offsets
Add self to AUTHORS
Use static empty pathfinding path when possible
Merge pull request #3375 from i80and/pathingdomains

Pathingdomains