refactored everything
moved common operations to object
improved solution improvement performance
2-opt is broken now, need to implement a backwards map from vertex to index in  solution sequence