Support for lein self-install

lein-self-install now uses an asynchronous download. lein-launch and
lein-command now call lein-self-install then terminate if lein is not
available. The call back could recall lein-command, but as this will happen
at some point in the future it does not seem a good idea.