A filmmaker with a controversial past Dinesh D'Souza has provoked controversy for decades.