Escape URL in flash message for optimistic locking
Escape URL in flash message for optimistic locking

  If an optimistic lock fails, we send a flash message.
  This change causes the flash message to be created
  using safe_join.  Using safe_join ensures that the
  edit_project_url is HTML escaped, which is much
  safer for security.

  The code here is a little more convoluted than I'd like,
  but it makes rubocop happy _without_ disabling anything,
  AND it forces HTML escaping of variable
  (which is much safer from a security viewpoint).
  Some simpler constructs I tried were technically the same,
  but rubocop couldn't determine that.  I'd prefer to leave
  the rubocop checks enabled, since we *want* it to maximally
  detect security problems.

Signed-off-by: David A. Wheeler <9ae72d22d8b894b865a7a496af4fab6320e6abb2@dwheeler.com>

yannickmoy/cii-best-practices-badge,jdossett/cii-best-practices-badge,yannickmoy/cii-best-practices-badge,taylorcoursey/cii-best-practices-badge,wanganyv/cii-best-practices-badge,jdossett/cii-best-practices-badge,coreinfrastructure/best-practices-badge,yannickmoy/cii-best-practices-badge,coreinfrastructure/best-practices-badge,jdossett/cii-best-practices-badge,jdossett/cii-best-practices-badge,yannickmoy/cii-best-practices-badge,coreinfrastructure/best-practices-badge,wanganyv/cii-best-practices-badge,wanganyv/cii-best-practices-badge,taylorcoursey/cii-best-practices-badge,taylorcoursey/cii-best-practices-badge,wanganyv/cii-best-practices-badge,linuxfoundation/cii-best-practices-badge,linuxfoundation/cii-best-practices-badge,taylorcoursey/cii-best-practices-badge,coreinfrastructure/best-practices-badge,linuxfoundation/cii-best-practices-badge,linuxfoundation/cii-best-practices-badge