* Fix a bug in KShortestPathFinder
The finder was too eager to return a "shortest" path when there was actually
potentially a shorter path still to be discovered
* A little bit of cleanup
* Add a test that reproduces k Shortest Paths bug
* Add hacked up variant of optional
* Fixup tests
* Update CHANGELOG
* Refactor ConstantWeightShortestPathFinder tests
* Move the functions which are used both in ConstantWeightShortestPathFinder
and KShortestPathsFinder into GraphTestTools
* Don't display spurious error messages when there are multiple options
for found paths anymore
* Use factored out code for Graph testing in KShortestPathsFinder