Based on:
- `ironic-agent` element and uses IPA for lookup/heartbeats
- `devuser` element to set user name, permissions and SSH keys.
Additionally:
- ensures OpenSSH is installed and configured properly
- correctly sets hostname to avoid some Ansible problems with elevation
- overrides DIB_DEV_USER_PWDLESS_SUDO to always be "yes"
Ironic callback functionality requires Ironic API >= 1.22.
Change-Id: I3f6c3baf0197d27f2d423f52611666ca186cd0a4
Related-Bug: #1526308