SourceCopyTask should respect includes/excludes on the sources

Currently if you specify includes/excludes on your sources like this

```
sourceSets {
    main {
        java {
            srcDir 'foo'
            include 'bar'
        }
    }
}
```

the include/exclude gets ignored by SourceCopyTask, because [SourceDirectorySet.getSrcDirTrees doesn't respect them](https://github.com/gradle/gradle/blob/master/subprojects/core/src/main/groovy/org/gradle/api/internal/file/DefaultSourceDirectorySet.java?source=cc#L126).