ENH: Root surfaces improved implementation
I have implemented an updated system for making root cells to replace my older system I primarily developed in our group. It is a procedural generation, it actually cuts out a cell from a larger slab, rather than defining everything mathematically and generating only the repetitions needed. While this would be nice, it seems nontrivial and our current approach scales up to a fairly large size. Performance can be improved potentially, but for now this seems to work well.
I have developed a test to show how to use it and have written the documentation to have everything up to date. The code currently passes pep8 and pyflakes on my end and is a strict improvement over the old implementation due to it being generalized.
This code has been tested to work with FCC, BCC, HCP, alloyed primitive cells, and even some arbitrary cells.