expanded swap
	fixed a goofup in Problem.getDistance()
	refactoring: renammed some variables/parameters for clarity
	moved a few methods around in *.cpp for clarity
	added some doc for clarity
	added Neighborhood.calculatePotentialCost(), a lightweight calculation method
	prototyped a Strategy class
	expanded tests
	fleshed out Swap.applyRelation()