John Brooke (British historian)