British Airways (BA) has reversed its decision to cancel direct flights between London and Bahrain following significant international backlash and concerns over diplomatic relations.