Fourier Methods in Combinatorial Number Theory