Fixing Update logic

When a DynamicProxy object gets cleaned up back to its POCO and then an
update is tried, it was previosuly makring the state as modified, but a
duplicate key error was being thrown because the DynamciProxy was in the
ObjectStateManager already.

So the logic needed to change to check if it is attached already and if
so then change the values of the already attached entity from based on
the entity passed in.

The integration test spikes are passing against the SQL database. now
and I've verified the actual SQL database values are changing and
correct.