Make `String#remove` and `String#remove!` accept multiple arguments

Quite often when I use `String#remove` I need to remove multiple patterns from the string at once. This change makes method handle multiple arguments without breaking backwards compatibility.

Before:

```ruby
["this", "that", /and that/].each do |pattern|
  text.remove! pattern
end
```

After:

```ruby
text.remove! "this", "that", /and that/
```
I've merely copied the style of existing test, but I guess you're right. Testing that does makes more sense. Will add it.