Complex Dynamics of Contention: Towards a Generative Model of Social Dissent