Discovering main classes

I added a feature to sbt-pack (for personal needs), and was wondering if you could be interested in it.

I added a `packMainDiscovered` task, that uses sbt's task `discoveredMainClasses` (which basically gives a list of the main classes in the current project) to guess a possible value for `packMain`. It can be used this way to define `packMain`:

    packMain := packMainDiscovered.value

If your project only main classes are `com.myproject.FirstProg` and `com.myproject.OtherProg`, it gives `packMain` the following value:

    Map("first-prog" -> "com.myproject.FirstProg", "other-prog" -> "com.myproject.OtherProg")

(It hyphenizes the names the main classes to get the scripts' names.)

I changed the tests in place to illustrate it (this makes the diff easier to read, although I think the right way to go should be to keep the existing tests as is, copy them, and change the copied tests).

I also had to make `packMain` a task, as I define it using another task (`discoveredMainClasses`). This doesn't seem to break any test.

Let me know if you have any question or remark.
You're right, it should call itself recursively `n` times, with `n` the number of components in the main class path. I just updated my branch.