[MWF] Fix PropertyGridTest.PropertyGrid_ArrayParentTest by returning the correct value of PropertyCategoryDefault

The code in ComponentModel (https://github.com/mono/referencesource/blob/7dc4e513eafd3fb30d34111948ef14c981264463/System/compmod/system/componentmodel/CategoryAttribute.cs#L276) looks up the category name by string concatenation, which means it wasn't captured in our SR.cs.
We also can't add the correct value for PropertyCategoryDefault as a string constant to SR.cs since the value is retrieved via GetObject () and we currently just return the parameter name there.

A short-term workaround is to just special case PropertyCategoryDefault in GetObject ().
[System.Xml.Linq] Test XmlSerializer with custom namespace.
Covers #24300.
[System.Xml.Linq] xmlns prefixes are no longer generated in some cases.
  - XNodeWrite.FillXmlns was adding a prefix to the attribute when no prefix was found (prefix==null)

  - XNodeWrite.LookupPrefix now returns string.Empty prefix when the namespace is the same as the element.
    A string.Empty prefix explicitly states that it has no prefix whereas null states that prefix was not defined.
    When LookupPrefix returns null for a namespace it means that a prefix should be generated first for anything that uses the namespace.
    That is what XmlSerializationWriter.GetQualifiedName does.

Fixes #24300
Merge pull request #1452 from esdrubal/xmlnamespace

[System.Xml.Linq] xmlns prefixes are no longer generated in some cases.
Merge pull request #1451 from akoeplinger/fix-winforms-test

[MWF] Fix PropertyGridTest.PropertyGrid_ArrayParentTest by returning the correct value of PropertyCategoryDefault
[Console] Updated to terminfo renderer.

This brings .NET's parameterized terminfo renderer, various fixes and
semantic changes.

The existing implementation of the Console did not have a proper an
implementation of terminfo's parameterized sequences.  Instead of
this, a collection of hacks existed to hardcode both light colors and
cursor position.  These are now gone, since the parameterized strings
do contain the correct values for this.

The search path for terminfo now picks the most modern location for
terminfo.   With the old paths in place.

The lookup for terminfo databases only supported the lookup based on
the first character of a terminal, so for example, for xterm this was
$terminfo_dir/x/xterm, but OSX and maybe other systems now store the
files in $terminfo_dir/78/xterm (where 78 is the hex representation of
'x', the first letter of the terminal name).

The fallback is still in place for other Unix systems.

We no longer use the built-in terminfo databases as the first pick,
instead we try to load the system terminfo database before we use the
built-in versions.

Worth figuring out if we want to remove the two built-in ones (Linux
and xterm) as broken terminfo databases are no longer the norm in Unix
and just keep the ansi one as a database of last resort.

This means that the console actually now gets high colors on MacOS,
not just Linux.

This also fixes the issue with consoles with more than 256 colors.  As
reported in bug 18315.
[System/SR] Brings some strings from .NET Core

Used the following script to do this:

var d = XDocument.Load ("Strings.resx");
foreach (var j in d.XPathSelectElements ("/root/data")){ var v = j.XPathSelectElement ("value"); Console.WriteLine ("\tpublic const string {0}=\"{1}\";", j.Attribute ("name").Value, v.Value); }
[Console/TerminfoDriver] Look in the TERMINFO directory if set
[System.Runtime.Serialization] Dip toes into using ReferenceSource
[System.Runtime.Serialization] Further baby steps
Merge remote branch 'upstream/master'