Additional Updates for the MsgArg

Additional Constructor added to Create a MsgArg array from a native IntPtr and
the number of args in the MsgArg.  This makes it possible to create a C# MsgArg
when a Native C function returns a pointer to the first element in a MsgArg
array.

The GetHashCode function needed to be changed.  It was returning a hash code
based on the string returned from the ToString method.  The problem is that
the ToString method returns an empty string when compiled in Release mode.
This caused the function to return the same hash code for every MsgArg
regardless of its contents.

Updated the ToString unit test to account for the fact that when using release
mode the ToString returns an empty string.

Change-Id: Ic4586364db7912b29e7c0753dfbc6ee478dcfb44
Updated the binding for the Message Class

The following methods have been added:
   - GetArgs
   - IsExpired
   - GetErrorName
   - ToString

The following properties have been added:
   - Flags
   - IsUnreliable
   - IsEncrypted
   - AuthMechanism
   - MessageType
   - CallSerial
   - Signature
   - ObjectPath
   - Interface
   - MemberName
   - ReplySerial
   - Sender
   - ReceiveEndPointName
   - Destination
   - CompressionToken
   - SessionId
   - Description
   - TimeStamp

Added the 'None' flag to the list of name flags.  This can be used when calling
RequestName.

Set of unit tests to test the new methods added to the Message class.

Change-Id: If595398870be6a251ac1b8258e9791c26dbb2032
When building the debug build DEBUG must be defined

Change-Id: I579649bfa925a378286430b348e2741a183d3215