ThreadPool Spec cleanup

I'm doing this in two parts. First, just the spec cleanup, so it's easy to (a) make sure the specs aren't insane, and (b) see the failures that are addressed in part 2.

The changes:

* Move everything to `*_shared` that we can -- lots of good, platform-independent specs were lurking in the `jruby_*` space.
* Make better use of `subject {...}` to avoid duplicated code
* Add simple exclusion filters toggled on `defined? JRUBY_VERSION` so the java code doesn't try to run under MRI and vice-versa.
* Separate out (old) `#initialize` specs that check default option values, and (new) specs that check passing explicit option values (spoiler: the latter are being ignored in a variety of ways)
* Add a better check to make sure `#shutdown` doesn't throw away values (it is)
* Add specs to make sure the various `:overflow_policy` options are working (they're not).