John Campbell (Generalmajor)