[WIP] Improve Algorithm\MinimumSpanningTree

* [x] Fix throwing `UnexpectedValueException` for unconnected Graphs
* [x] Consistently support undirected and mixed Graphs
* [x] Support edges with null weight (default), consider it the same as `(int)0` weight.
* [x] Add `Algorithm\MinimumSpanningTree\Base::getWeight()`
* [ ] 100% code coverage
* [ ] Documentation / changelog

Also refs #72