first version of support for defining features

TODOs:
- create source features instead of including sources in defined features
- support for merged bundles
- include transitive dependencies in features
provide ResolvedDependency for ResolvedBundleArtifacts

This allows determining the bundles transitive dependencies as resolved
in the platform configuration.
source features and transitive dependencies in features
fix for features with file based bundles
fixed feature source bundle inclusion
added plugin call as alternative to bundle in feature
deactivated source feature generation
use a custom ID for merged bundles
ResolvedDependency based direct dependencies
expose merged Jars dependencies in merged artifact
create source features
allow adding included features by id

Using `includes << 'id'` inside a feature.
Merge remote-tracking branch 'origin/features'