cominterop: Free IMarshal interface with the CCW.

This commit is licensed under MIT/X11.
Fix typo in test name (confusing)
Refactor to make it possible for the linker to remove, by default, less used Calendar types from applications
Update mcs/class/corlib/System/OperatingSystem.cs

"The ISerializable interface implies a constructor with the signature constructor (SerializationInfo information, StreamingContext context)."
from http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx
Merge pull request #576 from UCIS/patch-1

Fix ISerializable implementation in mcs/class/corlib/System/OperatingSystem.cs
Use faster running on windows check
Don't add Array::BinarySearch dependency for unreachable code
Fix compiler warnings
Don't build windows code paths on mobile profiles
Ignore activationAttributes and never try to create a proxy under MOBILE.
Add static rgctx trampolines in calls from gshared to gsharedvt code if needed.
Remove static constructor from HashSet
Remove culture info from simple string concatenation formating
Use faster versions of string comparers
Use generic comparer
Remove ArrayList dependency
[mkbundle] add explicit --style option to specify output style for as.
Merge pull request #537 from madewokherd/ccwmarshal

cominterop: Free IMarshal interface with the CCW.
Fix gsharedvt delegate invokes from gsharedvt code.
Add configure option to disable remoting.

Disabling remoting includes type proxies, x-domain communication and makes COM unusable.