PopulateWithNonDefaultValues - handle nullables

For nullable properties, treat null as the default value, and any
non-null, including the default value of the underlying value type, as
non-default. Allows using PopulateWithNonDefaultValues to populate both
true and false values if the source property is a nullable boolean, for
example.
Merge pull request #759 from Its-Tyson/filter-priority-service-method-issue

Unit tests reproducing an issue related to priority of filter attributes ignored when applied on service method
Merge pull request #752 from mmertsock/populate_nullables

PopulateWithNonDefaultValues - handle nullables
fix whitespace in latest pull-req
Fixed typo in array index order checks.
Added failure messages.