Refactored launcher apps and sample problems
Removed parallel collection use in BFS

In preparation for BFS performance improvement
BFS now returns one result only

In preparation for BFS performance improvement changes
Improved BFS performance

By using a common "states already seen" set
Improved BFS performance

Storing child-parent node pairs so there's no need to create, store and
pass around paths
Improved logging in BFS
Using parallel collections for BFS again
Refactor only, moved no-solution-check in BFS