Fascist. Socialist. Communist. Marxist. What Do These Words Mean?

People throw four labels at every politician in America right now. Almost nobody defines the words first.