England overcome Scotland and driving rain in Bristol to register a record-breaking 31st straight Test win and make the World Cup semi-finals.