added persisted object injection

Hi guys,

I am working on an enterprise project where the main entity is very complex, quite  few OwnedCollections in other OwnedCollections etc.The first update takes around 10 second using GraphDiff because of loading the entity in the GraphDiffer.Merge method. After the query compilation, the query is cached by EF but only for that specific entity with that specific key, if another entity is updated, the first update takes again 10 seconds.

I extended DbContextExtensions with another method where the already loaded  entity can be provided, this way the LoadEntity is skipped and only the Merge happens:   

 public static T UpdateGraph<T>(this DbContext context, T entity, T persisted, Expression<Func<IUpdateConfiguration<T>, object>> mapping) where T : class
 

If you will accept the pull request, I will create the necessary unit tests and then notify you for merge.

I think that too many parameters are passed around in the DbContextExtensions  UpdateGraph methods overloads, maybe a parameter class would be helpful there.

Cheers,

Tibi