ExcludePropertyReferences

I made the changes from pull request #358.  I added the JsConfig and
JsConfigScope porperty ExcludePropertyReferences.  I added this so that
properties could be excluded in scope.
Merge pull request #359 from nhalm/ExcludePropertyReferences

ExcludePropertyReferences
Support creating instances from interfaces of common collections and arrays
Added support for DataMember(Order)

- sorting propertyWriters according to Order on DataMember attribute
- processing DataMember attribute of fields as well.
- added reflection extensions for fields
XmlElement test

Had a problem that a XmlAny type (XmlElement[]) could not be parsed
Generics null check and ICollection added

null check for GetTypeWithGenericsInterfaceOf(typeof(IEnumerable<>)
and make ICollection behave the same as IEnumerable
Make ICollection behave the same as IEnumerable
Merge pull request #1 from WimAtIHomer/patch-1

XmlElement test
Added support for DataMember(EmitDefaultValue)
added missing return
Make ICollection behave the same a IEnumerable
Added ICollection test

Also added extra Assert in IEnumerable test
Changed the code to minimize side effects
Merge pull request #361 from WimAtIHomer/master

Added XmlElement test and possible fixes to fix test
Merge pull request #362 from pavelsavara/DataMemberOrder

DataMemberAttribute - Order, EmitDefaultValue
Proper serialize of x implementing IEnumerable<T>
This commit fixes an issue whereby child items of a class
implementing IEnumerable<T> would not get a __type field,
thereby making it impossible to deserialize the output.
The fix moved code that was meant to run on top of IEnumerable<T>
instances to a place where it will be checked in all circumstances.
Previously it would only be called when an object implements
IDictionary<K,V>
Merge pull request #363 from flq/polymorphic_dto

Proper serialization of an object implementing IEnumerable<T>
INCR to v3.9.58
Fixed to build as SL5 project
Conversion of array of strings to uppercase moved to separate method