Issue 1128: Web Api 2-OData same variable name causes type error
Issue 1409: Delta<T>.PUT overwrites navigation properties as well

Delta<T> doesn't know the IEdmType or the IEdmModel of the T. Hence
Delta<T>.Put resets the navigation properties to null as it cannot
distinguish between navigation and structural properties. This is
incorrect behavior according to OData spec and also causes issues with EF
as resetting the navigation properties might cause ForeignKey constraint
violations.

Fixing this by adding a ctor that takes the list of updatable
properties and resetting only them in Delta<T>.Put. The OData formatter
when it constructs Delta<T> during deserialization passes the structural
properties for this list.