2.3.0 Release

Add `lein-generate` task and modify `lein` task:

- The `lein-generate` task generates a `project.clj` file for the
  project based on the boot environment. See `boot [help lein-generate]`
  for all the details.

- The `lein` task now overwrites an existing `project.clj` file and does
  not delete the generated one on exit. See `boot [help lein]` for all
  the details here, too.
2.3.1 Release

External dependencies (like pomegranate, spring framework, etc.) were
causing issues with builds because they have heavy Java dependencies
themselves and are using quite old versions of these transitive deps.

- Transition to using the tailrecursion.boot.loader facilities for
  resolving dependencies in a separate classloader introduced in boot
  version 1.0.3. This required changes to tr.boot.core and tr.boot.deps
  namespaces.

- Transition to using the separate classloader for doing AntPathMatcher
  glob matching to eliminate the spring framework dependency.

- Move the digest dependency into this project and re-namespace it.

- Compatibility with older versions of tr.boot.loader is maintained but
  deprecated.

- Fix issue where dependencies were being added to boot environment
  :dependencies key even when pomegranate failed to add them to the
  classpath. Now the dependencies are added to the classpath before they
  are added to the boot environment. This mostly only affects the use of
  set-env! in the REPL, as the exception from pomegranate would otherwise
  cause the program to abort.