Updated DictionarySection logic to only run if the dictionaryIsHierarchy flag is set.

If it is not set(default) then no changes occur to the normal dictionary logic.
If it is set to a string, then that string will be used upon new key creation as a separator character and also when the GetDictionarySection() function is run to find children of that node.