The trick here is to think line an author.
Let's try and reverse-engineer the authoring process by using the same tools that they do.
I did some research on such software last year and only found one good, free one for Windows (YMMV).
It should do most of what you want, but I am not sure if it can handle it all (like factions - maybe Mind Mapping would be better).
Take a look at yWriter ...
yWriter is a word processor which breaks your novel into chapters and scenes, helping you keep track of your work while leaving your mind free to create. It will not write your novel for you, suggest plot ideas or perform creative tasks of any kind. yWriter was designed by an author, not a salesman!
Feature list:
- Organise your novel using a project. Add chapters to the project. Add scenes, characters, items and locations.
- Display the word count for every file in the project, along with a total.
- Saves a log file every day, showing words per file and the total. (Tracks your progress)
- Saves automatic backups at user-specified intervals.
- Allows multiple scenes within chapters Viewpoint character, goal, conflict and outcome fields for each scene.
- Multiple characters per scene.
- Storyboard view, a visual layout of your work.
- Re-order scenes within chapters.
- Drag and drop of chapters, scenes, characters, items and locations.
- Automatic chapter renumbering.
See also, this question http://writers.stackexchange.com/questions/8938/software-for-developing-and-organizing-charactershttps://writers.stackexchange.com/questions/8938/software-for-developing-and-organizing-characters
If you don't like the program, but do like the approach, then just google for more authoring software.
For instance, look at this comparison matrix
Or try these (and otehr Google hits) :