Handling periodic boundary conditions

The suite now handles periodic boundary conditions. I have also added a few extra utility functions that might come handy in the future.