Problem 18 - Maximum path sum, memoized

 - simplified previous solution
 - memoized version is like a speed boost to the brute force algorithm
 - pathTo(node) = valueAt(node) + max(pathToDescendants)