Problem/Motivation
Path aliases are currently represented as arrays, and they are using a custom storage class, which means they can't be integrated in modern workflows built around Drupal's Entity API, such as Content Moderation or Workspaces.
Proposed resolution
Convert path aliases to a new path_alias
content entity type. The new entity type will be revisionable and non-translatable, and will also be made publishable in a followup issue.
Note about performance
Operating with an entity is heavier than just sending arrays around. This patch doesn't change any of the queries that happen in bootstrap phase (which is most sensitive to performance regressions). All the queries (even functions) stay the same. Same is true for URL generation.
Remaining tasks
Review the patch.
User interface changes
Nope.
API changes
API addition: a new path_alias
revisionable content entity type.