changed IncludeUsage::dependencyList into IncludeUsage::dependencySet to ensure dependencies are unique
added typedef for IncludeUsage::dependencySet to reduce dependency on the actual container type