Hash does not respond to delete!

There's a nasty re-monkeypatch in `spec_helper.rb` which is masking a bug in the real code:

```ruby
class Hash
  def except(*keys)
    cpy = self.dup
    keys.each { |key| cpy.delete(key) }
    cpy
  end
end
```

After removing this, the test suite explodes:

```
Finished in 6.09 seconds
1743 examples, 128 failures
```

Digging deeper Hash does not respond to delete!, so implement this in a right way.