New branch: cDFT
This is the now constrained DFT (cDFT) branch. It is intended for constraining charge in specified atoms and constructing diabatic states. ConstrainedDFT includes the basic machinery for handling the cDFT-external potential while WeightFunction contains the weight function which specifies how charge is partitioned.