Gonzalo Fernandez-Castano wins BMW Masters despite final-hole double