shortest path fixes

Single shortest path was hardcoded to always start from source 0 (obviously wrong), was not actually returning the computing values.
All shortest paths was simplified to call single shortest path for each vertex.