Add option parameter to slugify Liquid filter

Add `option` parameter to `slugify` Liquid filter. The default option is `default`.

SLUGIFY STYLE       | DESCRIPTION                
--------------------|----------------------------
`none`              | Do nothing.
`raw`               | Convert to lowercase, and replace every sequence of **spaces** with a hyphen.
`default`           | Convert to lowercase, and replace every sequence of **spaces and non-alphanumeric characters** with a hyphen.
`pretty`            | Convert to lowercase, and replace every sequence of **spaces and non-alphanumeric characters (except for `._~!$&'()+,;=@`)** with a hyphen.
otherwise           | Convert to lowercase, and replace characters matching the regular expression with a hyphen.

Examples:

```
{{ "The _config.yml file?" | slugify }}
#=> the-config-yml-file

{{ "The _config.yml file?" | slugify:'none' }}
#=> The _config.yml file?

{{ "The _config.yml file?" | slugify:'raw' }}
#=> the-_config.yml-file?

{{ "The _config.yml file?" | slugify:'default' }}
#=> the-config-yml-file

{{ "The _config.yml file?" | slugify:'pretty' }}
#=> the-_config.yml-file

{{ "The _config.yml file?" | slugify:'[^a-zA-Z0-9_]+' }}
#=> the-_config-yml-file
```

Yeah, user-controlled regexes can lead to a DoS. https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS