fix a bug in general_surface for 1 ML slab and for superposition problem in N+1 …
…layer, where N results in a periodic slab
In original code (general_surface), The cell[-1][-1] would be literally ZERO for a 1 ML slab, which may be problematic sometimes. Also, if N layers would result in a rigorously periodic slab, N+1 layers would result in superposition of bottom layer and top layer atoms. These bugs have been fixed now.