John Grant Mitchell (soldier)