Doesn't quite pass the typesystem.   Too many levels.  Let's look at types:

```scala
val projects: Seq[Project]
val tmp: Seq[(Initialize[File], Initialize[String])] =
  projects.map(p => (resourceDirectory in Compile in p) -> (normalizedName in p))
val dirsAndNames: Initialize[Seq[(File, String)]] = tmp.join
// value join is not a member of  Seq[(Initialize[File], Initialize[String])]
```

That is, the "join" helper isn't able to discover into a `Seq[Tuple2[Initialize[_],Initialzie[_]]]`.  Too many nested types man.

This is actually the simplest I could do to preserve the existing semantics.  An even better approach (and one I want to do, once someone can answer my questions on repercussions) is to *NOT* dynamically depend on projects, but to depend on the `dependencyClasspath` setting.  Using this, we should be able to get all the dependent jars/classpath directories, and we can filter this to grab the relevant `reference.conf` files.  Then we're no longer used advanced sbt features, and we might see more stability.