Make sure that the right ssh public key is saved in the node info

The old way of saving the node public key relied on a notification, and
so only happened the very first time, when the ssh key was created. If,
for any reason, this went wrong, then there was no way to get it fixed.

Instead, on each chef-client run, we check if the node info contains the
right data, and if not, we save it.

(cherry picked from commit b5b7899f50f93273671886f67151615be365b209)
Recreate ssh keys if we somehow lost the private key

(cherry picked from commit 2af4b2ff987e42e49b9d7925ca81fda812e96121)
Update for recipe name after neutron cookbook code reorg
Only read ssh public key if file exists

(cherry picked from commit 353ad5caf8d058a3ccd31edd306f3fbe08297953)
Merge pull request #320 from vuntz/ensure-ssh-key

Make sure that the right ssh public key is saved in the node info
Merge pull request #324 from vuntz/neutron-reorg

Update for recipe name after neutron cookbook code reorg
Moved role constraints into model and removed edit deployment

(cherry picked from commit 0c038e58785c0517908855b8725db8fcffe38abb)
Merge pull request #331 from vuntz/release/roxy/master

Moved role constraints into model and removed edit deployment