Add support for excluding files / directories

using the exclude option its now possible to exclude files and directories for extraction
Why not add this check to FileDependencies::Archive.extract_file?

This way you wouldn't have the duplicate line `::File.join(target, entry.full_name.gsub(prefix, ''))`:

```ruby
        FileDependencies::Archive.untar(download) do |entry|
            next unless FileDependencies::Archive.extract_file?(entry.full_name, file['extract'], file['exclude'], prefix)
            if file['target'].nil?
              ::File.join(target, entry.full_name.gsub(prefix, ''))
            else
              ::File.join(target, entry.full_name.split("/").last)
            end
          end
        end
```