The IMF missed signs of a banking calamity, lacked independence and failed to hold countries to account, the organization's internal watchdog has said.