US Secretary of State John Kerry vigorously defended the Iran nuclear deal on Capitol Hill, calling it a "good deal for the world" that deserves the approval of a skeptical Congress.