Lots of improvements

o Generate a default launcher
  - can be overriden
  - Default for Java apps
o More tests
o Allow packaging to be done when needed
  - Allows to be packaged as a directory or tar.gz or zip
    It all depends on how scala-archiver works.