Social Aspects of Algorithms: Fairness, Diversity, and Resilience to Strategic Behavior