Support multiple faction allegiances per character.

- Keep array of allegiance info in each Person object.
- Compute a "primary" faction for each character based on how frequently they appear on a page as a member of said faction. (May need to refine the logic behind this later.)
- Each character may now appear on more than one faction page in the UI if they are defectors (e.g. Cao Bao).