[WCF]: New WsdlImporter nunit tests and sample wsdl docs.

This adds a bunch of new nunit tests and sample wsdl docs to
test the import of endpoints and bindings using WsdlImporter.
[WCF]: BasicHttpBinding API changes for .NET 4.5.

BasicHttpBinding received a few API cleanups and refactorings
in .NET 4.5:

* There is a new abstract HttpBindingBase class and most of
  BasicHttpBinding's API has been moved into this new class.

* There is a new BasicHttpsBinding.

* BasicHttpBinding / BasicHttpsBinding now only contain the APIs
  which are specific to http / https, the rest now lives in the
  new abstract HttpBindingBase.

* Similarly, there's now also HttpBindingBaseElement for the
  configuration.

* There is a new BasicHttpsSecurityMode enum, which only contains
  'Transport' and 'TransportWithMessageCredential', so you can't
  accidentally use an insecure transport.
[WCF]: Implement missing WsdlImporter pieces.

The WsdlImporter can now import Bindings and Endpoints
from the WSDL, currently supporting BasicHttpBinding,
BasicHttpsBinding and NetTcpBinding.

There is also - limited and still experimental - support
for WS-Policy 1.5.  I only did the very basic pieces so
far, for instance things like TransportWithMessageCredentials
are not supported yet.

The policy importer will emit lots of warnings via
`MetadataImporter.Errors` (as warnings, not errors) whenever
it encounters something that it doesn't understand and
is also forgiving towards unknown and/or mal-formed
policy assertions.

This behavior is different from the MS runtime, which is
very strict, but there are simply too many missing pieces
to be more pedentic here.  Check whether Errors.Count == 0
to see whether all policy assertions have been correctly
imported.

There are also a few metadata samples, which are part of the
new nunit tests.  These are currently working:

  BasicHttp.xml, BasicHttp_Mtom.xml, BasicHttp_NtlmAuth.xml,
  BasicHttp_TransportSecurity.xml, BasicHttps.xml,
  BasicHttps_NtlmAuth.xml, NetTcp.xml, NetTcp_TransferMode.xml,
  NetTcp_TransportSecurity.xml

There are a few more in the Tests/MetadataTests/Resources/
directory which demonstrate missing pieces.
fix xbc bug #8592: Make sure to reload configuration when Reset() was invoked.

Patch by Kei Nakazawa.
fix bug #8533 - more than one user config section should be generated in ApplicationSettingsBase.Save().

Patch by Kei Nakazawa.
Use same rule for reference alias identifer as for normal identifiers.
Making the behavior of substring versions of string.CompareOrdinal and string.CompareOrdinalCaseInsensitive match Microsoft's implementation.

The MSDN documentation states "Because CompareOrdinal is a static method, strA and strB can be null. If both values are null, the method returns 0 (zero), which indicates that strA and strB are equal. If only one of the values is null, the method considers the non-null value to be greater." Previously, CompareOrdinal and CompareOrdinalCaseInsensitive would throw a NullReferenceException if strA or strB was null.
Merge pull request #512 from LogosBible/string_CompareOrdinal

Making the behavior of substring versions of string.CompareOrdinal and s...
[monkeydoc] Tiny refactorings
[monkeydoc] Restore mono.addins provider
[monkeydoc] Add support for multiple input directory in ecma-provider
[monkeydoc] Move Node class to its own file
[monkeydoc] Allow to set RootTree on HelpSource. Required by mdoc.
[mdoc] Remove obsolete warning
[System.Windows.Forms] Fix documentation to remove illegal XML characters.
[build] Always report full stack-trace when running mdoc in mcs/docs.
[monkeydoc] Don't allow empty caption or element when creating nodes.
[monkeydoc] Fix ecma doc generation
[monkeydoc] Correctly instantiate read and write zip handles for ZipStorage.
[monkeydoc] Special case pluralization of 'Property'.