NEXUS-5595: Related, made File prefix source more "item like".

FilePrefixSource does not holds StorageFileItem, but it creates
one as needed. This also means, thats it's associated UID is
created only then, or when it's explicitly asked from it, but
still, no reference to UID is held.

This change makes FilePrefixSource more "Storage Item like" by
holding UID instance, preventing removal of the UID --
and hence it's corresponding locks -- from GC.

This way, a coder may work with FilePrefixSource in very much
same way as with StorageItem instance, knowing that UID returned
by it will be always the same instance, and no "recycling" of
it will happen.

Still, change in 9efbfbe67d614815f3cd6ae0b39e35b50b965e12
is "best practice", but this commit renders it unnecessary.