Regularise the construction of the ChainStrings
Issue with the ordering of the components in ythe chainstraing cause issues is different places notably where some "extra" or "te" flags are included, or not etc. In addition, we have lots of code which strip down, and rebuild the ChainStrings all over the place, so this should hopefully allow up to remove most of that and just use the ChainStrings directly
Edited by Mark Sutton