average pay for a doctor