Dirac Charge Quantization and Generalized Differential Cohomology