Dependency resolution/bootstrapping now happens in its own module [IMMUTANT-211]

This prevents leiningen-core and all of its dependencies from bleeding
into the application's effective classpath.
Use distinct instead of set to preserve order.