Extract shoes

Here's a solution for our circular dependency problem. Also modified to use the new Shoes gem structure. Requires changes to Shoes in shoes/shoes4#989 that haven't been merged to master yet.

The idea here is for furoshiki to be a generic packager and inject anything project/platform specific. So all of the Shoes-specific code has been removed, and we're left with a packager that can wrap up Ruby code in a .jar or in a .app. There are specs for a Ruby "Hello World" jar, but the app specs are a bit lacking.

I envision the Shoes code that has been removed from this gem living in a `shoes-packaging` gem with the rest of the Shoes code. That way, furoshiki has no dependency on Shoes, and it's the responsibility of shoes-packaging to make sure we have shoes-core available for packaging.

As I worked through this, I realized that we may want the ability to package gems that aren't installed locally as well...but I'm leaving that alone for now.

Thoughts? @jasonrclark @PragTob @KCErb ???
Would also love to slim this method down but again probably not this PR... I also remember that we needed it for some reason (because of the redirects), feels kind of odd to handle it all ourselves, though