Explicitly fail for undirected edges
Improve code style
Add tests (100% coverage)
Add fixes in Algorithm\MinimumCostFlow to CHANGELOG