Do not delete pxe_deploy_{kernel, ramdisk} on tear down

As part of the instance_info work it was agreed that the deploy kernel
and ramdisk IDs should be passed to Node when enrolling it and not be
present on the Flavor anymore so that we can enable Ironic to support
different deploy provisioning methods using the same Flavor. The problem
is that right now Ironic is always removing the pxe_deploy_kernel and
pxe_deploy_ramdisk parameters from the driver_info as part of the tear
down process, but it shouldn't because those parameters should be constant
across multiple deployments to the node.

This patch fixing it by adding a backward compatible layer that would
work for both: The old way, by having the deploy kernel/ramdisk ID in
the flavor. And the new way, passing the deploy kernel/ramdisk as part
of the enrollment process of the node.

If the deploy kernel and ramdisk IDs are present on the flavor, the
Ironic Nova driver will stash it on driver_info when deploying the
node and delete it from driver_info when unprovisioning the node, if
it's not on the Flavor, the Ironic Nova driver does neither of those
(and either it's already on the node's driver_info and things work,
or the node fails on validate)

Implements: blueprint add-node-instance-info
Change-Id: I67e2deffaa55a754a7649f8863f7ac3c033dbf6f
Merge "Do not delete pxe_deploy_{kernel, ramdisk} on tear down"