Introduced single container for all software components

- Added SoftwareComponent, SoftwareComponentContainer and Application types
    - native component types extend base types 
- Replaced LibraryContainer with SoftwareComponentContainer (not yet filtered)
- Replaced custom ExecutableContainer with filtered view over 'components'
Use filter on SoftwareComponentContainer to access all ProjectNativeComponent instances
Added 'jvmLibraries' container and renamed 'libraries' to 'softwareComponents'
Update DSL docs for new types and collection types