Extract the password-protected item handling provisions from
PublicShareRoomModels and install it in an abstract prototype model and
collection, for basing various items that are going to need the feature.
(Only the model base prototype gets detection of password protection, since
the top-level share room, where the condition is uncertain, is a model.
Collections are always encountered as contents of an already identified
password-protected superior container.)

Weave the base into folder and file collections and models, and also into
versions, and adjust various views so that models and collections residing
within password protected share rooms all inherit the password.