Support portfolio IDs for Assembla Perforce repositories.
Review Request #8940 - Created May 12, 2017 and submitted
Assembla has recently added a namespacing concept called "Portfolios," which require slashes in the P4HOST value. Since Perforce defaults a P4CLIENT to the value of the P4HOST, and P4CLIENT doesn't support slashes, we now need to manually specify a sanitized P4CLIENT. The Perforce SCMTool now allows for specifying a custom P4CLIENT value. The Assembla support now generates a suitable value based on the Review Board server's hostname and the project ID, converting all slashes to dashes. This should allow Review Board to work with modern, paid Assembla repositories.
Unit tests pass.
Tested adding an Assembla repository and verifying that the custom
P4HOST and P4CLIENTs were being used for repository verification and
all other communication.