using the copy constructor instead of manually copying in "Dikstra"
fixed wrong test method
trying to refactor the RouteQueryTest, generally trying to make it easier to generalize this testing so that new queries implementation are easily tested
first try to refactor RouteQuery
refactored ShortestPathQuery and removed getSource and getDestination test due to new class interface
refactored ReachableCitiesAtMostQuery
fixed a bug in Graph equal, the original implementation was comparing the graph object with itself rather than the object passed
refactored Graph
removed setters for source and destination objects, the setters must maintain the state in the Graph to match the new source and destination, since we don't do that know, the setters are removed
removed setters for name in City, same reason of the previous commit
renamed cost field to distance in Edge to give the correct meaning of the weight on the Edge
generalized Dikstra implementation to take a type parameter that represents the type of the node
moved "FileHandler" to package "io"
moved "QueryFactory" to package "queries"
added normal case test to RegexParser.extractVariables
some renaming and organizing
added test to DikstraTests
implemented extractCities in CostQuery