Stop creating folders in virt unit tests

Before nova.tests.virt.libvirt tests created 4 empty UUID named folders
in the top level nova directory.  Tests should not leave artifacts like
these around.

Fix bug 1194676

Change-Id: I941b23ecb94db2f4a0cc60eeb06766f960775ba1
Add obj_to_primitive() to recursively primitiveize objects

Occasionally we need to recursively process a NovaObject into a
representative dict or list. This patch adds a function to do that
recursively, accounting for nested objects and lists of objects.

Related to blueprint unified-object-model

Change-Id: I6adb84f9e5a0564ec4af14200e26e838b4a5bb6e
Add update() method to NovaObject for dict compatibility

In order for objects to behave like dicts, they need to
support the update() method. This patch adds that.

Related to blueprint unified-object-model

Change-Id: Icb3932682285cbf8e7362e5b748e42a754b17fe7
Merge "Stop creating folders in virt unit tests"
Merge "Add obj_to_primitive() to recursively primitiveize objects"
Merge "Add update() method to NovaObject for dict compatibility"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp