Add support for excluding files / directories

using the exclude option its now possible to exclude files and directories for extraction
put `pattern.to_s.match('^\(\?-mix:.+\)$')`in a separate method, like

```ruby
def regexp_string? pattern
   pattern.to_s.match('^\(\?-mix:.+\)$')
end
```

Then this line becomes `pattern.is_a?(Regepx) or regexp_string?(pattern)``

Another option is to just replace the regexp with CONSTANT that explains what the regexp is.