Francois Fillon wins French primary, faces Marine Le Pen for presidency