Permit passing SSH keys into the Ironic API

SSH keys are equivalent to passwords for the ssh driver, and having to
special case deployment metadata to push them out of band to a file is
awkward. This patch adds the ability to pass the key in directly which
is much easier (in some environments).

Change-Id: I4421c80cb3dc0c8aee614c684d113a7ab6db6779
Fix 'spacing' parameters for periodic tasks

conductor.manager module contains 'spacing' parameters for periodic
tasks, they do not work because manager module imported before
parsing config options.
There is not such problem in Nova which uses create() method in class
derived from common Service for lazy loading manager module.
Because this derived class not needed for Ironic simple load_manager
function added to common.service.

Partial-Bug: #1279774
Change-Id: Ib31024c8eaf75d38de09983459d86125847cdf30
Fix traceback hook for avoid duplicate traces

In WSME there is special 'debuginfo' response key for return 'Server'
errors with trace in debug mode. We need to remove trace from
'faultstring' for this case also.

Change-Id: Ide3a5c084dcedfa557e1d58eb189bbe0ffc80ca6
Hide rescue interface from validate() output

No API exists today to start or stop "rescue" mode, and no
driver supports it. Therefor, the list of supported driver
interfaces returned by:
  GET /v1/nodes/XXX/validate
should not include "rescue".

Co-Authored-By: David Shrewsbury <shrewsbury.dave@gmail.com>

Change-Id: I2a43409087dfa747fdb6930481e5585324ceeb50
Related-bug: #1294288
Stop incorrectly returning rescue: supported

Rescue interface is not supported by ironic.drivers.modules.pxe, but all
the drivers which use the PXEDeploy interface were incorrectly mapping
it to their rescue interface as well, leading to the appearance that
these drivers supported rescue functionality.

This patch corrects this by removing the incorrect driver interface
mapping, and deleting the unused stub class PXERescue.

Change-Id: Icaa5928f18d72fcb2d26baac2a18606e8c4366c6
Closes-bug: #1294288
Updated from global requirements

Change-Id: Ic5a504a6a3039b2aa1b9d7278f784778a13b279d
Merge "Stop incorrectly returning rescue: supported"
Merge "Hide rescue interface from validate() output"
Merge "Fix traceback hook for avoid duplicate traces"
Pass no arguments to _wait_for_provision_state()

Commit 39e0a28d modified the inner function in destroy() to take
no arguments but its caller was not updated.  This avoids a TypeError
during Nova instance deletion.

Closes-Bug: #1296918
Change-Id: I865b1ef92b0a3736e0e6295892c663f7e4ab792e
Merge "Permit passing SSH keys into the Ironic API"
Merge "Pass no arguments to _wait_for_provision_state()"
Update Neutron if mac address of the port changed

New method 'update_port_address' added to Ironic NeutronAPI.
This method used in conductor manager for update Neutron
when mac address of the port changed.

Closes-Bug: #1236714
Change-Id: I56a43a08de98868362ecef7ec5a8c740ed065120
Merge "Updated from global requirements"
Merge "Fix 'spacing' parameters for periodic tasks"