Cargo gains, cost cuts boost British Airways