first pass: connect-pb-bucket args passed as map

Rough first pass: feedback welcome! Not sure if this is quite what you wanted, so please feel free to tell me to complete redo it. :)
Oh another thing that occurred to me is that perhaps the keys that hold booleans could be renamed, e.g. `allow-siblings?`; it's potentially a breaking change so I left that out of this.