Remove duplicate function GetRefPropChangeTracker. Use GetRefPropertyChangeTracker instead
New interface IRefPropertyChangeTrackerResolver for entities, 1-1 and M-1 properties of which have non-standard names or locations of the corresponding change trackers.
Rename NorthwindModels.Territory's property AreaChangeTracker to AreaChangeTracker_NON_STANDARD which causes many unit test to fail
NorthwindModels.Territory implements IRefPropertyChangeTrackerResolver and all unit tests pass again
Move Customer.CustomerSettingChangeTracker to NON_STANDARD_LOCATION
Despite the proper implementation of IRefPropertyChangeTrackerResolver interface a unit test `Existing_Customer_Removed_With_Modified_CustomerSetting_Has_Children_ModifiedProperties_Cleared` keeps failing
Fix: SetModifiedProperties function directly scans for RefPropertyChangeTracker of the M-1 property bypassing GetRefPropertyChangeTracker mechanism.
This is getting critical in case of a non-standard location of the RefPropertyChangeTracker when it is supposed to be delivered by the IRefPropertyChangeTrackerResolver interface.
Interface INavigationPropertyInspector allows to override the default mechanism of inspecting the entity navigation properties (entity references and entity collections)

All occurrences of PropertyInfo.GetValue have been globally extracted into the DefaultNavigationPropertyInspector class. PropertyInfo.GetValue should no longer be directly used within the library. Applications are also encouraged to switch to the new syntax:

foreach (var navProp in entity.GetNavigationProperties())
{
    // 1-1 and M-1 properties
    foreach (var refProp in navProp.AsReferenceProperty())
        DoSomething(refProp.EntityReference);

    // 1-M and M-M properties
    foreach (var colProp in navProp.AsCollectionProperty())
        DoSomething(colProp.EntityCollection);
}
Json serializer must skip navigation properties with null values
Merge branch 'az-local' into MY_master