1.0.3 Release

This release eliminates external dependencies (other than Clojure
itself) by running certain procedures in a segregated classloader. This
prevents dependency conflicts that were reported, mostly involving the
Java dependencies (HTTP client, etc) pulled in by pomegranate. Some of
these Java transitive deps were quite old versions of key components
(like the Apache commons and HTTP client).

- Resolve dependencies at runtime by passing them to a separate
  classloader. The classloader uses pomegranate to resolve the
  dependencies and passes back a list of jar file paths, which are then
  added to the project classpath via URLClassloader.

- Do glob path matching using the Spring framework Ant path matcher
  inside the segregated classloader.

- Procedures performed in the segregated classloader are exposed as
  functions in the tailrecursion.boot.loader namespace. Components (such
  as boot.core, for example) should use "feature detection" to sniff out
  these functions and should include an alternative implementation in
  case they're not found. This generally involves using set-env! to pull
  in the dependencies needed at runtime.  The purpose of this is to
  maintain compatibility between new versions of components and older
  versions of the boot loader.

- Compatibility with older versions of boot.core is maintained, as the
  add-dependencies function signature is unchanged.