William Johnson (Medal of Honor recipient)