Recursively compute disk cache sizes

@irace, @mb
What's the difference between `NSURLTotalFileAllocatedSizeKey` and `NSURLFileSizeKey`?