Roman general who commanded the invasion of Carthage in the second Punic War and defeated Hannibal at Zama (circa 237-183 BC)