Added city and country framework
refactored connection test
added behavior for connecting cities
refactored connection initialization into factory
added framework for implementing country distance algorithm
added fragment algorithm for direct closest neighbor
refactored duplicated symmetric builder code into separate class
refactored too complicated names and signatures into separate method