This uses the compile scoped deps provided by dependency:list, but that data does not include exclusions, so they have to be added back in.
The dumbest part of this is the stupid AttachmentKey class, which causes ClojureRuntime clients to pull in ClojureRuntimeService as well. Moving ClojureRuntime into Dayum renders runtime/api pretty empty -- maybe move it back into core? Does ClojureRuntimeImpl have to be in a module separate from ClojureRuntime? If not, should we move it into dayum as well?
The namespaces/immutant module serves two purposes: 1) as a convenient way to pull in all the immutant namespaces and b) a means to test that all modules can be loaded, albeit less functional, outside the container.
This involved removing some type hints that I don't think will impact performance. I stubbed in returning a ConcurrentHashMap if Infinispan isn't in the classpath, but more (minor) work will be required to make it abide by the Mutable protocol.