Barcelona captain Carles Puyol fit for El Clasico