Egoism, altruism, and social justice : theory and experiments on cooperation in social dilemmas