Algorithm work.
Refactored Track to TrackDescriptor as application DTO
Refactored track and track creation.
Current bugs with adding tracks to locations - cloning problematic with
identity/entity objects.
All tests passing
Added sample problem distance test with first test
Completed exact match problem test
Fixed issue with route spec passing through start town again
Refactored class names and locations -> moved builders to test folder.
Moved all validation and completion check logic to RouteMatchers
MaximumStopsRouteMatcher working
Verified max stops matcher problem example
Completed Exact number of stops Route Matcher
Formatted string output
Verified problem sample against maximum distance route matcher.
Doesn't do less than, rather use max to infer.
Refactored tests to use new MatchingRoutes.findRouteWithPath() to make
them less brittle
Refactored problem sample track creation to TestUtils
Refactored test util method
Refactored route matchers input parameters to parameter object
Completed problem samples in unit tests, including shortest distance
matcher.