John Bankhead Magruder US-amerikanischer Militär, Offizier der United States Army und Generalmajor der Südstaaten