NBC: Rudy Giuliani reaches settlement deal to end $146 million defamation case