England's impressive 12-match unbeaten run came to a decisive end on Saturday as Scotland pulled off a stunning 31-20 upset at Murrayfield.