[FileBackend] Refactored backend access control functions.
* Made secure() no longer create the container/directories.
* Added a new publish() function, which is the reverse of secure().
It's seems reasonable to be able to reverse secure() if needed.
* Added the ability to call prepare() with the secure() parameters.
The "securing" will only be done if the container had to be created.
This kills a bunch of slow RTTs with setContainerAccess() in Swift.
* Also made the Swift doSecureInternal() function respect the arguments
and set 'r:*' to properly make containers public.
* Consolidated FileRepo directory creation into an initDirectory() function.
This uses the new prepare() arguments.
Change-Id: Ie16331ebf26c99295f60b266e07a4727228f53f2