Ensure OpenStack commands are run as correct user

Currently, a number of OpenStack commands are run as root (namely,
those management related commands to handle db creation/migrations).
This change updates these affected tasks to use sudo to run the commands
as the correct user.

We also make a few other minor changes, namely:

- updating some hard-coded users to reflect {{ system_user }} instead
- removing nova_compute_sshkey_create role from nova-compute.yml
  playbook (this role is already listed in nova-compute-keys.yml, which
  is included in nova-all.yml)
- adding a vars_files to nova-compute-keys.yml so we can reference
  {{ system_user }} instead of the hard-coded nova user
- updating the 'Create the nova SSH key if it doesnt exist' task to use
  sudo rather than su

(cherry picked from commit a4431dfba6094cf232ca866953249156022f7d4a)
Merge pull request #538 from mattt416/juno_507

Ensure OpenStack commands are run as correct user