City Council and the Firefighters Union have hammered out the final details of a deal that would save the city about $30 million over the next two years, while protecting firefighters from a repeat of last year’s layoffs. With an agreement in place, the proposal is expected to pass a vote by members of the union.