To url options: 'replace_whitespace_with' and 'downcase'

Thanks for the awesome library!

In my project I need to replace whitespace with characters other than `-` (e.g. `_`) and disable the automatic downcasing.

I added an option to the `to_url` method to specify this:
```
"1 2 3".to_url(:replace_whitespace_with => "_")    # "1_2_3"
```

Here the option to disable downcasing:
```
"A B C".to_url(:downcase => false)    # "A-B-C"
```

I included new tests - they and the existing test suite pass without problems.