Add virtual top and virtual bottom for better performance
Refactor internal index calculation to a separate method
Refactor sites array to be 1D instead of 2D
Add PercolationStats