Improve behaviour when posting to a shutdown thread pool

If an executor has a handle_overflow method defined, use that in the case where we post to an executor which is not running. If no handle_overflow method is defined (e.g. for the single-thread executor), preserve the current behaviour of returning false.

Fixes Github issue #192.

I've tested on MRI 2.0, but not on anything else yet (I'm hoping TravisCI will take care of some of that for me?).

I'm happy to apply any feedback (including any stylistic conventions I haven't spotted and followed), but had two specific questions:
* handle_overflow is now doing something a bit more general (i.e. handling any case where we can't execute a task), and I'd like to rename it - but I'm not sure to what. fallback_handler, maybe?
* I've used the following pattern for some of the tests, to try and remain agnostic to whether `post` returns false or throws an exception - is that OK or is there a nicer approach?

```
begin
  subject.post{ expected.increment }
  rescue Concurrent::RejectedExecutionError
end
```