Refactor: Move unweighted methods upwards.

As mentioned in fbbf1f2176e6f2c8b, we move most of the methods
in UnweightedGraphAnalyzer up to its parent GraphAnalyzer.
In order to implement WeightedGraphAnalyzer, it remains only
to implement the calculateShortestPathsFromNode method.