Mohamed Haouas is sent off as Scotland beat France 28-17 to end their bid for a Six Nations Grand Slam with a fourth consecutive Murrayfield defeat.