* Added handling of space group symmetry.
* Automatically use the primitive cell when it is different from the conventional cell.
* Calculate and graph the DOS when running the energy or optimization.
* Added a band structure sub-step to calculate and graph the band structure. This is
an initial, working version, but needs considerable enhancement.
* To accomplish the above, restructured the code significantly and moved the actual
execution of DFTB+ to the appropriate sub-steps. This is need to support e.g. band
structure which requires two sequential calculations, the first to calculate the
charge density and the second to get the band structure from the fixed charge
density.