Refactor PPModuleMetadataBuilder into xtext based metadata.json editor

Adds a generator that ensures that the project dynamic references
are in sync with the module dependencies when a metadata.json file is
modified.

Adds circular dependency detection to the dependency validation.

Checks that version of appointed modules is in range for the
version_requirement denoted in the dependency.