only attach source sets of relevant languages to component

- introduce LanguageOutputType for modelling language output
- keep registering factories for all kinds of provided SourceSet types for _all_  functional sourcesets in project#sources
- just create default languageSourceSet where component inputs (partially) match language output
- update integtests
TODO: handle custom libraries (currently returning empty set of component inputs); handle 3party language output / language plugins / components

+review REVIEW-5076