Bugfixes for optimistic concurrency and multi-level add

Hi,

I've fixed a couple of bugs (and added unit tests for those bugs):
- there was a false concurrency exception when adding new roots
- more than one level of new owned entities in the object graph were not correctly added to the context

I also extended UpdateGraph so that it returns the existing entity so I could access the updated Id/RowVersion properties after calling SaveChanges(). I found this especially helpful for newly added roots.

I made those changes on master. I think they should be merged to v1.4 as well, but I'm not sure how to do that (separate pull request?).