John Stewart, 3rd Earl of Lennox