Edward Caldwell (James MacDonald)