Project properties: make classpaths and version selection readonly when necessary, closes #309

Resubmit of #451 to the fd5 branch.
What I mean that "right now" you are handling the case of classpaths, but there are many other parameters in the project properties which are obtained by running the `display` command.

The logic determining that the project properties are generated using the `display` command should be moved into the project object.
And likewise `GetLanguagePlatform` should be in the project.

In OOP terms, the project is a model and you don't want to duplicate the logic determining some properties of the model in all the views that will use this model.