GafferScene::Duplicate

This adds a Duplicate node to GafferScene, which allows multiple duplicates of a subtree to be produced, each with its own transform.

For this I needed to add a utility string function so cherry picked the as-yet unmerged StringAlgo.h from my boxUI branch so I had somewhere to put it.