Return previous vertices in Bellman-Ford

Other single-source shortest-path algorithms return both `distance` and `previous` objects, and this patch makes Bellman-Ford adhere to the existing interface.