Remove any lib/baremetal usage for ironic deploy

Get rid of lib/baremetal usage so that it can be simply
deleted when that time comes:
Copy upload_baremetal_deploy function to lib/ironic;
Rename it to upload_baremetal_ironic_deploy;
Remove any $BM_* variables references from lib/ironic;
Rename $BM_IMAGE_BUILD_* environment variables to $DIB_*;
Improve logic around deploy k&r building;
Add check for $OFFLINE mode;

Change-Id: I4302b32328df9156bf8738773a127db914e8edde
heat add HEAT_DEFERRED_AUTH option

Adds a HEAT_DEFERRED_AUTH, defaulted to trusts, so users can
by default take advantage of the heat trusts functionality
which provides the following benefits:
- Deferred operations (e.g autoscaling) work with token-only auth
- The password field in the heat page of horizon can be made optional
  (horizon patch pending)
- It's more secure because heat no longers stores username/password
  credentials in the DB, only a trust ID.

The previous behavior can be obtained by setting HEAT_DEFERRED_AUTH
to something other than "trusts" - the value will only be set in
the heat.conf if the value of "trusts" is found, otherwise the
heat.conf default will be used (currently "password" which doesn't
use trusts)

Change-Id: I549f1e0071a082ac5d07d0f99db633f8337f3d87
Related-Bug: #1286157
Fix typo in setting neutron to notify nova about port change

Change-Id: I4d1c8076c5943359088e3cd5226adb8fcaa683e7
Fix broken if statement in lib/tls on ZSH

When using ZSH, the line `if [[ (!$cert && !$key && $ca) ]]` fails
due to a syntax error.  Instead of checking the variables as a boolean,
we can simply check if they have a non-zero length.  This works in ZSH.

Change-Id: I171ed10a8c0af354e82bd6119508a0c44b6bcd9c
Merge "heat add HEAT_DEFERRED_AUTH option"
Merge "Fix typo in setting neutron to notify nova about port change"
Merge "Remove any lib/baremetal usage for ironic deploy"
Merge "Fix broken if statement in lib/tls on ZSH"
Merge branch 'master' of https://github.com/openstack-dev/devstack