Scotland has treated Murrayfield to a show in its last home Six Nations game and given Wales a record-extending 16th consecutive defeat by 35-29 in Edinburgh.