Richard Cannon (military historian)