John Williams (Medal of Honor, b. 1828)