Scotland held on to register their first win over England in a decade and regained the Calcutta Cup with a breathtaking 25-13 win at BT Murrayfield.