Add shoes-package (extracted from furoshiki)

This is the companion to shoes/furoshiki#14. It extracts the shoes-specific code from furoshiki, so that we have no more circular dependencies. Furoshiki is generic and doesn't depend on Shoes.

Not completely certain that I've got the abstractions right, or that the use of inheritance vs mixin vs duck typing is ideal yet. Mainly, I'm shooting for separation between shoes and furoshiki. We can improve the interface at a later point. The idea is that Furoshiki has the general logic for packaging jars and apps (so far), and shoes-package injects the shoes-specific requirements/handling into the furoshiki workflow. Other frameworks could inject different requirements/handling

I suspect this needs some love regarding the versioning fixes that @jasonrclark recently pushed.

Comments???
This is how Warbler figures out how to package something. It loads all of the classes under `Warbler::Traits` and calls `#detect?` on each one. All of the traits that return `true` get run.