Martino to replace Vilanova at Barcelona