John Stewart, 7th Earl of Galloway