Remove hard dependency on fiddle

On Ruby 2 we can use Process.getsid (thanks @fumiyas for implementing
it!)

If fiddle is not present, we can shell out which is a tad slower, but
better than requiring people to install dependencies and rebuild their
ruby.

Thanks @rjackson for researching these alternatives.

Closes #20.
Fix tests to make them run out of the box on different rubies
Fix race condition
Test against Ruby 2