Strongly Typed Aggregate Dependencies

This is the start of work to make an aggregate dependency map that includes timing information.  It's mostly untested, but I've modified and added unit tests where needed.  Next I plan to test it via some scalding jobs that will submit to this interface.