Israel says 21 soldiers were killed in fighting, marking the single deadliest attack on Israel's army since the war with Hamas began