DataSP: A Differential All-to-All Shortest Path Algorithm for Learning Costs and Predicting Paths with Context