Function varchar review

Review the use of VARCHAR parameters and return types in built-in functions. 

1) The default "covers" parameter processing, if applied to multiple parameters, forces casting of the whole set to a single common type. This can be wrong in cases where one of the parameters specifies a character set, collation, or size which becomes relevant to the internal processing. For these functions, split the covering parameters so they are not cast to the same types. 

2) Review the functions returning VARCHAR types to ensure the relevant VARCHAR details are passed along to the next stage of processing. 

Update the YAML tests for all of these functions, even if there were no code changes to ensure future checks, if functionality is changed, to avoid surprises. 
These need to stick around as defaults.