Israel and Hamas agree to Gaza ceasefire and hostage deal, source says