John Stewart (2e duc d'Albany)