REVIEW-2568: Pushed configuration methods up into general SourceSet interfaces

- Moved exportedHeaders(Closure) up to HeaderExportingSourceSet
- Moved source(Closure) up to LanguageSourceSet
- Changed both methods to use Action<SourceDirectorySet> instead
REVIEW-2567: Use a notation parser to convert source inputs to LanguageSourceSets

- NativeBinary and NativeComponent accept single LanguageSourceSet, FunctionalSourceSet or collection of LanguageSourceSets
- Removed laziness from handling FunctionalSourceSets
REVIEW-2565: Document change to source set DSL in release notes
REVIEW-2565: Pull getFullName() up into LanguageSourceSetInternal
REVIEW-2565: Moved Cpp and Java LanguageSourceSet impls closer together