mono/mono — pull request #1452 by esdrubal (2014-12-12 19:53:03+00:00)
Title: [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](https://bugzilla.xamarin.com/show_bug.cgi?id=24300)