Carles Puyol renews Barcelona contract until 2016