Use dependency injection for assignment and identity

The assignment and identity backends don't use normal
dependency injection because of a circular reference.

Support for circular references was added, so these
backends can now use normal dependency injection.

Fixes: bug 1200769
Fixes: bug 1204605

Change-Id: I8716a65b984c26fcaaf2595463db09e1f02cb475
Merge "Use dependency injection for assignment and identity"