Update surface.py

Updated version of surface.py. The method in the Slab class has been modified to allow for the enumerating of different termination sites in a slab. A unittest has been added to see if the .cif files generated to represent the slabs with different termination sites has been properly generated