At least 500 civilians are dead after an explosion at a hospital in Gaza that was sheltering thousands of Palestinians.