Decode the values previously encoded by util_encode_user_header_setting.
The out_header_name points to the setting_value, thus it's valid as long as the setting_value is
valid and unchanged.
The out_header_name can result in null when the setting_value contains
invalid data.
The out_display_name can result in null when the setting_value does not
contain the display name. In such case the header name can be used as the display name.
| setting_value |
the value to decode |
| out_display_name |
location for the decoded display name, or null when not needed |
| out_header_name |
the location for the decoded header name |