Separate out shoes gems, introduce shoes-core

So ended up finding it harder to do this in smaller steps, so I just went for it fully :metal: This addresses #931 and #932.

This establishes the new top-level directories we talked about, so now each gem is self-contained and just pulls in its local files. This removed the need for the manifests and related tests, since everything will get included now by default.

There are a few other oddities to things that are worth being aware of:

* Some files are symlinked, primarily CHANGELOG, README.md and LICENSE from the project root into the individual folders
* The root `/bin` no longer represents the actual `bin` we ship--it is a helper for stitching together the related subdirectories appropriately to run from source.
* Rake tasks for build/install/release are now done more directly by each sub-gem having its own `Rakefile` and just `cd`'ing in and running the commands.
* Running specs still does some fanciness to work at the top level and invoke the right things

Unfinished/busted stuff...
* This seems to have given our `Guardfile` problems. Dug very briefly, but moved on to other things. I'm willing to sacrifice that briefly in the interest of getting the big merge here done sooner (or might get a chance to look later tonight... will see)
* Running gem from source on Windows might well be busted. Haven't tested yet, not sure how quickly I can get a chance to.
* Doesn't separate out the manual. I still think that's worth doing, hopefully into a gem that doesn't actually require `shoes-core` so it can be referenced dependency free from things like a manual website in the future. Alternatively, the stuff is in `shoes-core` which is pretty reusable... maybe that's enough?

Apologies for the size here, but like I said, was having a very hard time pulling this off piecemeal.




So I didn't dig since it was late, but I think that both gemspecs end up getting loaded for `shoes` and `shoes-core`, and they both load their versions which collide.

I'll give `shoes-core` the module wrapping here that it ought to have in the file rather than the `defined?` and that should be cleaner.