restructured how solutions are created

added representations module to easily change the representation and
fitness function