Middlewere for getting artifact information

All artifacts from clojars are fetched.  There's no 'get everything'
endpoint for the mvn central api.  This is unfortunate, but most clojure
libraries appear to be on clojars.  One notable exception are all the
libraries found under the groupId org.clojure.  These are explicitly
fetched.

If we ever have to get more libraries from mvn central that code should
probably be re-written with core.async so we don't spin up too many
threads for web requests.

Two new ops are added:

- artifact-list wich returns a list of all available artifacts
- artifact-versions which returns a list of all available versions for a
  given artifact