With the power of templates, you can run any algorithm by just changing the class name in main.
Normalized the rotation algorithms to use the exact same fitness function for better fitness comparison.