Analyzing Social Conflict via Computational Social Simulation: A Review of Approaches