Team private resources

It is common for repository implementations to use extra files and folders to store information specific about the repository implementation.  Although these files may be needed in the workspace, they are of no interest to other plug-ins or to the end user.

Team providers may use IResource.setTeamPrivateMember(boolean) to indicate that a resource is private to the implementation of a team provider. Newly created resources are not private members by default, so this method must be used to explicitly mark the resource as team private.  A common use is to mark a subfolder of the project as team private when the project is configured for team and the subfolder is created.

Other resource API that enumerates resources (such as resource delta trees) will exclude team private members unless explicitly requested to include them.  This means that most clients will not "see" the team private resources and they will not be shown to the user.  The resource navigator does not show team private members by default, but users can indicate via Preferences that they would like to see team private resources.

Attempts to mark projects or the workspace root as team private will be ignored.