add a global trim value so combined pool size cannot exceed a max
add a global trim value so combined pool size cannot exceed a max

Changed Hash definition to use block form.

Refactored pool trimming.

Added a test for combined global pool size. Some runtimes like
Rubinius and JRuby back each fiber with a thread. Most consumer
OSes (like OSX) have a relatively low threshold for procces per
user so allowing fibers to grow unbounded will test those limits.
No fair way to trim global fibers so we just trim every thread's
pool down to 1 fiber. This might still blow up. A better
mechanism would be welcome.

celluloid/celluloid-task-pooledfiber