David Stewart, Duke of Rothesay