support for managing ssh keys

This change permits provisioning ssh public and private keys as part of
creating the "nova" user.  There are no changes to the default behavior
of the module.  This changes introduces three new parameters:

- nova_public_key
- nova_private_key
- nova_shell

These changes are intended to permit configuring live migration via
qemu+ssh connections to remote hypervisors.

Change-Id: Ib61f4574843a7e5ada9a08692f4488cb844c9eee
Implements: blueprint provision-ssh-keys
Merge "support for managing ssh keys"