Multi-build: package filename length may exceed limit

When using steal to multi-build JavascriptMVC 3.3 apps into nice shared packages, it's possible to exceed the file-system length limit for filenames, which of course breaks the multi-build.

It occurs when there is a shared package comprised of enough long-named app names. This is because the package name is calculated by joining the app names together. This is the same issue as described in #169.

We've solved this for our own project by calculating an (8-character) MD5 hash of the package name, and using that instead. It also means some messy logic for dealing with potential filename collisions could be removed.

We've updated the multi-build test, so that `./js steal/build/test/run.js` passes.