Moved source directory conventions out of ‘cpp’ project into ‘languageBase’

- Still using a ProjectConfigurationAction instead of ModelRule
- Added more integration tests for building components from Java sources
  - Test configuration of source locations
  - Build mixed native/jvm project with real sources
Made LanguageRegistry internal: we don’t want to ever expose it this way
Fixed bug in PreprocessingReader that introduced null characters to the beginning of stream.