ruby cleanups

- style updates based on feedback from @warmwaffles and @supernullset 
  - split classes into their own files
  - keep `murmur3` out of the `Kernel` namespace
- ruby fallback for when C extensions are useless (aka support jruby without java extension)
Open can take a block; when the block is provided, the file handle will automagically be closed upon the end of execution.

```ruby
open("Makefile", "wb") do |mfile|
  mfile.puts '.PHONY: install'
  mfile.puts 'install:'
  mfile.puts "\t" + '@echo "Extensions not installed, falling back to pure Ruby version."'
end
```

^^ more idiomatic, but very little *real* difference. YMMV