Add genconfig tox job for sample config file generation

If someone tries to run generate_sample.sh outside a venv
or without installing project dependencies, you could encounter
error messages related to missing or outdated dependencies.

This change wraps generate_sample.sh execution in tox. Wrapping it
in a tox job makes sure all dependencies found in requirements.txt and
test-requirements.txt are properly installed prior to its execution.

This change does not propose the removal of the sample config file
already in place in the repository and it does not propose adding
it to the list of jobs automatically ran by tox.

This change is merely the introduction of a more convenient way
to execute generate_sample.sh in a proper venv.

You can now (re)generate the sample config file with this tox job:

  tox -egenconfig

Change-Id: I1058a306a462ba8349a4433c78070fabd6d03e39
Implement security groups and firewall filtering methods

Implement security groups and firewall filtering related methods in the
Nova Ironic Driver, the methods implemented are:

* refresh_security_group_rules() invoked when security group rules
  are updated

* refresh_security_group_members() invoked when instances are
  added/removed to a security group.

* refresh_provider_fw_rules() invoked when a firewall rule is added or
  removed from the list of rules.

* refresh_instance_security_rules() invoked when an instance gets added
  to or removed from the security group the instance is a member of or if
  the group gains or looses a rule.

* ensure_filtering_rules_for_instance() used to ensure that an instance's
  filtering rules are enabled.

* unfilter_instance() to stop filtering the instance.

Change-Id: Ib464dc6df4b03c952d564fdd4185ffbab59a8bc8
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
Imported Translations from Transifex

Change-Id: I6b551aa202303c9d0c98d2b22900c4cc236e29ae
Merge "Add genconfig tox job for sample config file generation"
Merge "Imported Translations from Transifex"
Merge "Implement security groups and firewall filtering methods"
Merge "Do not delete pxe_deploy_{kernel, ramdisk} on tear down"